From ba61f968ff48f2aec448bb6d1448e3d56310f2e7 Mon Sep 17 00:00:00 2001 From: Alexander Soldatov Date: Thu, 8 Feb 2018 20:26:59 +0300 Subject: [Unix] Passing extra CMake args Added support for compiler and linker additional arguments in CMake. By using CLR_ADDITIONAL_LINKER_FLAGS and CLR_ADDITIONAL_COMPILER_OPTIONS it's possible to pass toolchain options without changing Makefile. --- CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index e59995ddcf..7d5d501f1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -450,6 +450,18 @@ elseif (CLR_CMAKE_PLATFORM_UNIX) endif(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED) endif(WIN32) +# CLR_ADDITIONAL_LINKER_FLAGS - used for passing additional arguments to linker +# CLR_ADDITIONAL_COMPILER_OPTIONS - used for passing additional arguments to compiler +# +# For example: +# ./build-native.sh cmakeargs "-DCLR_ADDITIONAL_COMPILER_OPTIONS=<...>" cmakeargs "-DCLR_ADDITIONAL_LINKER_FLAGS=<...>" +# +if(CLR_CMAKE_PLATFORM_UNIX) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CLR_ADDITIONAL_LINKER_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CLR_ADDITIONAL_LINKER_FLAGS}" ) + add_compile_options(${CLR_ADDITIONAL_COMPILER_OPTIONS}) +endif(CLR_CMAKE_PLATFORM_UNIX) + if(CLR_CMAKE_PLATFORM_LINUX) set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--build-id=sha1") -- cgit v1.2.3