-
Notifications
You must be signed in to change notification settings - Fork 12.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add cmake support for CLC and ll asm language, the latter includes clang preprocessing stage. Add ctests to check for external function calls. v2: fix typos, style Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Acked-by: Aaron Watry <awatry@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com> Acked-by: Vedran Miletić <vedran@miletic.net> llvm-svn: 347667
- Loading branch information
Showing
10 changed files
with
501 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,298 @@ | ||
| cmake_minimum_required( VERSION 3.9.2 ) | ||
|
|
||
| project( libclc VERSION 0.2.0 LANGUAGES CXX ) | ||
|
|
||
| # List of all targets | ||
| set( LIBCLC_TARGETS_ALL | ||
| amdgcn-- | ||
| amdgcn--amdhsa | ||
| r600-- | ||
| nvptx-- | ||
| nvptx64-- | ||
| nvptx--nvidiacl | ||
| nvptx64--nvidiacl | ||
| ) | ||
|
|
||
| set( LIBCLC_MIN_LLVM "3.9.0" ) | ||
|
|
||
| set( LIBCLC_TARGETS_TO_BUILD "all" | ||
| CACHE STRING "Semicolon-separated list of targets to build, or 'all'." ) | ||
|
|
||
| option( ENABLE_RUNTIME_SUBNORMAL "Enable runtime linking of subnormal support." | ||
| OFF ) | ||
|
|
||
| if( NOT LLVM_CONFIG ) | ||
| find_program( LLVM_CONFIG llvm-config ) | ||
| endif() | ||
| execute_process( COMMAND ${LLVM_CONFIG} "--version" | ||
| OUTPUT_VARIABLE LLVM_VERSION | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE ) | ||
| message( "LLVM version: ${LLVM_VERSION}" ) | ||
|
|
||
| if( ${LLVM_VERSION} VERSION_LESS ${LIBCLC_MIN_LLVM} ) | ||
| message( FATAL_ERROR "libclc needs at least LLVM ${LIBCLC_MIN_LLVM}" ) | ||
| endif() | ||
|
|
||
| # mesa3d environment is only available since LLVM 4.0 | ||
| if( ${LLVM_VERSION} VERSION_GREATER "3.9.0" ) | ||
| set( LIBCLC_TARGETS_ALL ${LIBCLC_TARGETS_ALL} amdgcn-mesa-mesa3d ) | ||
| endif() | ||
|
|
||
| if( LIBCLC_TARGETS_TO_BUILD STREQUAL "all" ) | ||
| set( LIBCLC_TARGETS_TO_BUILD ${LIBCLC_TARGETS_ALL} ) | ||
| endif() | ||
|
|
||
| list( SORT LIBCLC_TARGETS_TO_BUILD ) | ||
|
|
||
| execute_process( COMMAND ${LLVM_CONFIG} "--system-libs" | ||
| OUTPUT_VARIABLE LLVM_SYSTEM_LIBS | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE ) | ||
| execute_process( COMMAND ${LLVM_CONFIG} "--libs" "core" "bitreader" "bitwriter" | ||
| OUTPUT_VARIABLE LLVM_LIBS | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE ) | ||
| execute_process( COMMAND ${LLVM_CONFIG} "--libdir" | ||
| OUTPUT_VARIABLE LLVM_LIBDIR | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE ) | ||
| execute_process( COMMAND ${LLVM_CONFIG} "--ldflags" | ||
| OUTPUT_VARIABLE LLVM_LD_FLAGS | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE ) | ||
| execute_process( COMMAND ${LLVM_CONFIG} "--cxxflags" | ||
| OUTPUT_VARIABLE LLVM_CXX_FLAGS | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE ) | ||
| separate_arguments( LLVM_CXX_FLAGS ) | ||
| execute_process( COMMAND ${LLVM_CONFIG} "--bindir" | ||
| OUTPUT_VARIABLE LLVM_BINDIR | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE ) | ||
|
|
||
| # These were not properly reported in early LLVM and we don't need them | ||
| set( LLVM_CXX_FLAGS ${LLVM_CXX_FLAGS} -fno-rtti -fno-exceptions ) | ||
|
|
||
| # Print LLVM variables | ||
| message( "LLVM system libs: ${LLVM_SYSTEM_LIBS}" ) | ||
| message( "LLVM libs: ${LLVM_LIBS}" ) | ||
| message( "LLVM libdir: ${LLVM_LIBDIR}" ) | ||
| message( "LLVM bindir: ${LLVM_BINDIR}" ) | ||
| message( "LLVM ld flags: ${LLVM_LD_FLAGS}" ) | ||
| message( "LLVM cxx flags: ${LLVM_CXX_FLAGS}" ) | ||
| message( "" ) | ||
|
|
||
| find_program( LLVM_CLANG clang PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) | ||
| find_program( LLVM_AS llvm-as PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) | ||
| find_program( LLVM_LINK llvm-link PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) | ||
| find_program( LLVM_OPT opt PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) | ||
|
|
||
| # Print toolchain | ||
| message( "clang: ${LLVM_CLANG}" ) | ||
| message( "llvm-as: ${LLVM_AS}" ) | ||
| message( "llvm-link: ${LLVM_LINK}" ) | ||
| message( "opt: ${LLVM_OPT}" ) | ||
| message( "" ) | ||
| if( NOT LLVM_CLANG OR NOT LLVM_OPT OR NOT LLVM_AS OR NOT LLVM_LINK ) | ||
| message( FATAL_ERROR "toolchain incomplete!" ) | ||
| endif() | ||
|
|
||
| set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ) | ||
| set( CMAKE_CLC_COMPILER ${LLVM_CLANG} ) | ||
| set( CMAKE_CLC_ARCHIVE ${LLVM_LINK} ) | ||
| set( CMAKE_LLAsm_PREPROCESSOR ${LLVM_CLANG} ) | ||
| set( CMAKE_LLAsm_COMPILER ${LLVM_AS} ) | ||
| set( CMAKE_LLAsm_ARCHIVE ${LLVM_LINK} ) | ||
| enable_language( CLC LLAsm ) | ||
|
|
||
| # Construct LLVM version define | ||
| string( REPLACE "." ";" LLVM_VERSION_LIST ${LLVM_VERSION} ) | ||
| list( GET LLVM_VERSION_LIST 0 LLVM_MAJOR ) | ||
| list( GET LLVM_VERSION_LIST 1 LLVM_MINOR ) | ||
| set( LLVM_VERSION_DEFINE "-DHAVE_LLVM=0x${LLVM_MAJOR}0${LLVM_MINOR}" ) | ||
|
|
||
| # This needs to be set before any target that needs it | ||
| link_directories( ${LLVM_LIBDIR} ) | ||
|
|
||
| # Setup prepare_builtins tools | ||
| add_executable( prepare_builtins utils/prepare-builtins.cpp ) | ||
| target_compile_options( prepare_builtins PRIVATE ${LLVM_CXX_FLAGS} ) | ||
| target_compile_definitions( prepare_builtins PRIVATE ${LLVM_VERSION_DEFINE} ) | ||
| target_link_libraries( prepare_builtins PRIVATE ${LLVM_SYSTEM_LIBS} ) | ||
| target_link_libraries( prepare_builtins PRIVATE ${LLVM_LIBS} ) | ||
|
|
||
| # Setup arch devices | ||
| set( r600--_devices cedar cypress barts cayman ) | ||
| set( amdgcn--_devices tahiti ) | ||
| set( amdgcn-mesa-mesa3d_devices ${amdgcn--_devices} ) | ||
| set( amdgcn--amdhsa_devices none ) | ||
| set( nvptx--_devices none ) | ||
| set( nvptx64--_devices none ) | ||
| set( nvptx--nvidiacl_devices none ) | ||
| set( nvptx64--nvidiacl_devices none ) | ||
|
|
||
| # Setup aliases | ||
| set( cedar_aliases palm sumo sumo2 redwood juniper ) | ||
| set( cypress_aliases hemlock ) | ||
| set( barts_aliases turks caicos ) | ||
| set( cayman_aliases aruba ) | ||
| set( tahiti_aliases pitcairn verde oland hainan bonaire kabini kaveri hawaii | ||
| mullins tonga iceland carrizo fiji stoney polaris10 polaris11 ) | ||
|
|
||
| # Support for gfx9 was added in LLVM 5.0 (r295554) | ||
| if( ${LLVM_VERSION} VERSION_GREATER "4.99.99" ) | ||
| set( tahiti_aliases ${tahiti_aliases} gfx900 gfx902 ) | ||
| endif() | ||
|
|
||
| # Support for Vega12 and Vega20 was added in LLVM 7 (r331215) | ||
| if( ${LLVM_VERSION} VERSION_GREATER "6.99.99" ) | ||
| set( tahiti_aliases ${tahiti_aliases} gfx904 gfx906 ) | ||
| endif() | ||
|
|
||
| # pkg-config file | ||
| configure_file( libclc.pc.in libclc.pc @ONLY ) | ||
| install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libclc.pc DESTINATION share/pkgconfig ) | ||
| install( DIRECTORY generic/include/clc DESTINATION include ) | ||
|
|
||
| if( ENABLE_RUNTIME_SUBNORMAL ) | ||
| add_library( subnormal_use_default STATIC | ||
| generic/lib/subnormal_use_default.ll ) | ||
| add_library( subnormal_disable STATIC | ||
| generic/lib/subnormal_disable.ll ) | ||
| install( TARGETS subnormal_use_default subnormal_disable ARCHIVE | ||
| DESTINATION lib/clc ) | ||
| endif() | ||
|
|
||
| find_program( PYTHON python ) | ||
| file( TO_CMAKE_PATH ${CMAKE_SOURCE_DIR}/generic/lib/gen_convert.py script_loc ) | ||
| add_custom_command( | ||
| OUTPUT convert.cl | ||
| COMMAND ${PYTHON} ${script_loc} > convert.cl | ||
| DEPENDS ${script_loc} ) | ||
| add_custom_target( "generate_convert.cl" DEPENDS convert.cl ) | ||
|
|
||
| enable_testing() | ||
|
|
||
| foreach( t ${LIBCLC_TARGETS_TO_BUILD} ) | ||
| message( "BUILDING ${t}" ) | ||
| string( REPLACE "-" ";" TRIPLE ${t} ) | ||
| list( GET TRIPLE 0 ARCH ) | ||
| list( GET TRIPLE 1 VENDOR ) | ||
| list( GET TRIPLE 2 OS ) | ||
|
|
||
| set( dirs generic ) | ||
| if( ${ARCH} STREQUAL r600 OR ${ARCH} STREQUAL amdgcn ) | ||
| set( dirs ${dirs} amdgpu ) | ||
| endif() | ||
|
|
||
| #nvptx is special | ||
| if( ${ARCH} STREQUAL nvptx OR ${ARCH} STREQUAL nvptx64 ) | ||
| set( DARCH ptx ) | ||
| else() | ||
| set( DARCH ${ARCH} ) | ||
| endif() | ||
|
|
||
| # Enumerate SOURCES* files | ||
| set( source_list ) | ||
| foreach( l ${dirs} ${DARCH} ${DARCH}-${OS} ${DARCH}-${VENDOR}-${OS} ) | ||
| foreach( s "SOURCES" "SOURCES_${LLVM_MAJOR}.${LLVM_MINOR}" ) | ||
| file( TO_CMAKE_PATH ${l}/lib/${s} file_loc ) | ||
| file( TO_CMAKE_PATH ${CMAKE_SOURCE_DIR}/${file_loc} loc ) | ||
| # Prepend the location to give higher priority to | ||
| # specialized implementation | ||
| if( EXISTS ${loc} ) | ||
| set( source_list ${file_loc} ${source_list} ) | ||
| endif() | ||
| endforeach() | ||
| endforeach() | ||
|
|
||
| # Add the generated convert.cl here to prevent adding | ||
| # the one listed in SOURCES | ||
| set( rel_files convert.cl ) | ||
| set( objects convert.cl ) | ||
| if( NOT ENABLE_RUNTIME_SUBNORMAL ) | ||
| list( APPEND rel_files generic/lib/subnormal_use_default.ll ) | ||
| endif() | ||
|
|
||
| foreach( l ${source_list} ) | ||
| file( READ ${l} file_list ) | ||
| string( REPLACE "\n" ";" file_list ${file_list} ) | ||
| get_filename_component( dir ${l} DIRECTORY ) | ||
| foreach( f ${file_list} ) | ||
| list( FIND objects ${f} found ) | ||
| if( found EQUAL -1 ) | ||
| list( APPEND objects ${f} ) | ||
| list( APPEND rel_files ${dir}/${f} ) | ||
| # FIXME: This should really go away | ||
| file( TO_CMAKE_PATH ${CMAKE_SOURCE_DIR}/${dir}/${f} src_loc ) | ||
| get_filename_component( fdir ${src_loc} DIRECTORY ) | ||
|
|
||
| set_source_files_properties( ${dir}/${f} | ||
| PROPERTIES COMPILE_FLAGS "-I ${fdir}" ) | ||
| endif() | ||
| endforeach() | ||
| endforeach() | ||
|
|
||
| foreach( d ${${t}_devices} ) | ||
| # Some targets don't have a specific GPU to target | ||
| if( ${d} STREQUAL "none" ) | ||
| set( mcpu ) | ||
| set( arch_suffix "${t}" ) | ||
| else() | ||
| set( mcpu "-mcpu=${d}" ) | ||
| set( arch_suffix "${d}-${t}" ) | ||
| endif() | ||
| message( " DEVICE: ${d} ( ${${d}_aliases} )" ) | ||
|
|
||
| add_library( builtins.link.${arch_suffix} STATIC ${rel_files} ) | ||
| # Make sure we depend on the pseudo target to prevent | ||
| # multiple invocations | ||
| add_dependencies( builtins.link.${arch_suffix} | ||
| generate_convert.cl ) | ||
| # CMake will turn this include into absolute path | ||
| target_include_directories( builtins.link.${arch_suffix} PRIVATE | ||
| "generic/include" ) | ||
| target_compile_definitions( builtins.link.${arch_suffix} PRIVATE | ||
| "__CLC_INTERNAL" ) | ||
| target_compile_options( builtins.link.${arch_suffix} PRIVATE -target | ||
| ${t} ${mcpu} -fno-builtin ) | ||
| set_target_properties( builtins.link.${arch_suffix} PROPERTIES | ||
| LINKER_LANGUAGE CLC ) | ||
|
|
||
| set( obj_suffix ${arch_suffix}.bc ) | ||
|
|
||
| # Add opt target | ||
| add_custom_command( OUTPUT "builtins.opt.${obj_suffix}" | ||
| COMMAND ${LLVM_OPT} -O3 -o | ||
| "builtins.opt.${obj_suffix}" | ||
| "builtins.link.${obj_suffix}" | ||
| DEPENDS "builtins.link.${arch_suffix}" ) | ||
| add_custom_target( "opt.${obj_suffix}" ALL | ||
| DEPENDS "builtins.opt.${obj_suffix}" ) | ||
|
|
||
| # Add prepare target | ||
| add_custom_command( OUTPUT "${obj_suffix}" | ||
| COMMAND prepare_builtins -o | ||
| "${obj_suffix}" | ||
| "builtins.opt.${obj_suffix}" | ||
| DEPENDS "opt.${obj_suffix}" | ||
| "builtins.opt.${obj_suffix}" | ||
| prepare_builtins ) | ||
| add_custom_target( "prepare-${obj_suffix}" ALL | ||
| DEPENDS "${obj_suffix}" ) | ||
| install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${obj_suffix} DESTINATION lib/clc ) | ||
| # nvptx-- targets don't include workitem builtins | ||
| if( NOT ${t} MATCHES ".*ptx.*--$" ) | ||
| add_test( NAME external-calls-${obj_suffix} | ||
| COMMAND ./check_external_calls.sh ${CMAKE_CURRENT_BINARY_DIR}/${obj_suffix} | ||
| WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) | ||
| set_tests_properties( external-calls-${obj_suffix} | ||
| PROPERTIES ENVIRONMENT "LLVM_CONFIG=${LLVM_CONFIG}" ) | ||
| endif() | ||
|
|
||
|
|
||
| foreach( a ${${d}_aliases} ) | ||
| set( alias_suffix "${a}-${t}.bc" ) | ||
| add_custom_target( ${alias_suffix} ALL | ||
| COMMAND ${CMAKE_COMMAND} -E | ||
| create_symlink ${obj_suffix} | ||
| ${alias_suffix} | ||
| DEPENDS "prepare-${obj_suffix}" ) | ||
| install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${alias_suffix} DESTINATION lib/clc ) | ||
| endforeach( a ) | ||
| endforeach( d ) | ||
| endforeach( t ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| set(CMAKE_CLC_COMPILER "@CMAKE_CLC_COMPILER@") | ||
| set(CMAKE_CLC_COMPILER_LOADED 1) | ||
|
|
||
| set(CMAKE_CLC_SOURCE_FILE_EXTENSIONS cl) | ||
| set(CMAKE_CLC_OUTPUT_EXTENSION .bc) | ||
| set(CMAKE_CLC_OUTPUT_EXTENSION_REPLACE 1) | ||
| set(CMAKE_STATIC_LIBRARY_PREFIX_CLC "") | ||
| set(CMAKE_STATIC_LIBRARY_SUFFIX_CLC ".bc") | ||
| set(CMAKE_CLC_COMPILER_ENV_VAR "CLC_COMPILER") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| if(NOT CMAKE_CLC_COMPILE_OBJECT) | ||
| set(CMAKE_CLC_COMPILE_OBJECT | ||
| "<CMAKE_CLC_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE> -emit-llvm") | ||
| endif() | ||
|
|
||
| if(NOT CMAKE_CLC_CREATE_STATIC_LIBRARY) | ||
| set(CMAKE_CLC_CREATE_STATIC_LIBRARY | ||
| "<CMAKE_CLC_ARCHIVE> <LINK_FLAGS> -o <TARGET> <OBJECTS>") | ||
| endif() | ||
|
|
||
| set(CMAKE_INCLUDE_FLAG_CLC "-I") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake) | ||
|
|
||
| if(NOT CMAKE_CLC_COMPILER) | ||
| find_program(CMAKE_CLC_COMPILER NAMES clang) | ||
| endif() | ||
| mark_as_advanced(CMAKE_CLC_COMPILER) | ||
|
|
||
| if(NOT CMAKE_CLC_ARCHIVE) | ||
| find_program(CMAKE_CLC_ARCHIVE NAMES llvm-link) | ||
| endif() | ||
| mark_as_advanced(CMAKE_CLC_ARCHIVE) | ||
|
|
||
| set(CMAKE_CLC_COMPILER_ENV_VAR "CLC_COMPILER") | ||
| set(CMAKE_CLC_ARCHIVE_ENV_VAR "CLC_LINKER") | ||
| find_file(clc_comp_in CMakeCLCCompiler.cmake.in PATHS ${CMAKE_ROOT}/Modules ${CMAKE_MODULE_PATH}) | ||
| # configure all variables set in this file | ||
| configure_file(${clc_comp_in} ${CMAKE_PLATFORM_INFO_DIR}/CMakeCLCCompiler.cmake @ONLY) | ||
| mark_as_advanced(clc_comp_in) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake) | ||
|
|
||
| if(NOT CMAKE_LLAsm_PREPROCESSOR) | ||
| find_program(CMAKE_LLAsm_PREPROCESSOR NAMES clang) | ||
| endif() | ||
| mark_as_advanced(CMAKE_LLAsm_PREPROCESSOR) | ||
|
|
||
| if(NOT CMAKE_LLAsm_COMPILER) | ||
| find_program(CMAKE_LLAsm_COMPILER NAMES llvm-as) | ||
| endif() | ||
| mark_as_advanced(CMAKE_LLAsm_ASSEMBLER) | ||
|
|
||
| if(NOT CMAKE_LLAsm_ARCHIVE) | ||
| find_program(CMAKE_LLAsm_ARCHIVE NAMES llvm-link) | ||
| endif() | ||
| mark_as_advanced(CMAKE_LLAsm_ARCHIVE) | ||
|
|
||
| set(CMAKE_LLAsm_PREPROCESSOR_ENV_VAR "LL_PREPROCESSOR") | ||
| set(CMAKE_LLAsm_COMPILER_ENV_VAR "LL_ASSEMBLER") | ||
| set(CMAKE_LLAsm_ARCHIVE_ENV_VAR "LL_LINKER") | ||
| find_file(ll_comp_in CMakeLLAsmCompiler.cmake.in PATHS ${CMAKE_ROOT}/Modules ${CMAKE_MODULE_PATH}) | ||
| # configure all variables set in this file | ||
| configure_file(${ll_comp_in} ${CMAKE_PLATFORM_INFO_DIR}/CMakeLLAsmCompiler.cmake @ONLY) | ||
| mark_as_advanced(ll_comp_in) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| set(CMAKE_LLAsm_PREPROCESSOR "@CMAKE_LLAsm_PREPROCESSOR@") | ||
| set(CMAKE_LLAsm_COMPILER "@CMAKE_LLAsm_COMPILER@") | ||
| set(CMAKE_LLAsm_ARCHIVE "@CMAKE_LLAsm_ARCHIVE@") | ||
| set(CMAKE_LLAsm_COMPILER_LOADED 1) | ||
|
|
||
| set(CMAKE_LLAsm_SOURCE_FILE_EXTENSIONS ll) | ||
| set(CMAKE_LLAsm_OUTPUT_EXTENSION .bc) | ||
| set(CMAKE_LLAsm_OUTPUT_EXTENSION_REPLACE 1) | ||
| set(CMAKE_STATIC_LIBRARY_PREFIX_LLAsm "") | ||
| set(CMAKE_STATIC_LIBRARY_SUFFIX_LLAsm ".bc") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| if(NOT CMAKE_LLAsm_COMPILE_OBJECT) | ||
| set(CMAKE_LLAsm_COMPILE_OBJECT | ||
| "${CMAKE_LLAsm_PREPROCESSOR} -E -P <DEFINES> <INCLUDES> <FLAGS> -x cl <SOURCE> -o - | <CMAKE_LLAsm_COMPILER> -o <OBJECT> ") | ||
| endif() | ||
|
|
||
| if(NOT CMAKE_LLAsm_CREATE_STATIC_LIBRARY) | ||
| set(CMAKE_LLAsm_CREATE_STATIC_LIBRARY | ||
| "<CMAKE_LLAsm_ARCHIVE> <LINK_FLAGS> -o <TARGET> <OBJECTS>") | ||
| endif() | ||
|
|
||
| set(CMAKE_INCLUDE_FLAG_LLAsm "-I") |
Oops, something went wrong.