diff options
author | Wohlstand <admin@wohlnet.ru> | 2019-09-23 12:51:19 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2019-09-23 12:55:41 +0300 |
commit | 22248f90dd83413e91c8d4b66e652ef1a7954b60 (patch) | |
tree | 458b7d861c5a0845388717e1f1a10f4295b7a22f | |
parent | 8749ddc3da9574c2406a7dfd2fd6a4639148beef (diff) | |
download | libADLMIDI-22248f90dd83413e91c8d4b66e652ef1a7954b60.tar.gz libADLMIDI-22248f90dd83413e91c8d4b66e652ef1a7954b60.tar.bz2 libADLMIDI-22248f90dd83413e91c8d4b66e652ef1a7954b60.zip |
Don't call "-no-pie" when it's unavailable
-rw-r--r-- | CMakeLists.txt | 11 | ||||
-rw-r--r-- | examples/sdl2_audio/CMakeLists.txt | 4 | ||||
-rw-r--r-- | utils/adlmidi-2/CMakeLists.txt | 4 | ||||
-rw-r--r-- | utils/dumpbank/CMakeLists.txt | 4 | ||||
-rw-r--r-- | utils/dumpmiles/CMakeLists.txt | 4 | ||||
-rw-r--r-- | utils/gen_adldata/CMakeLists.txt | 4 | ||||
-rw-r--r-- | utils/midiplay/CMakeLists.txt | 4 |
7 files changed, 17 insertions, 18 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2da1a4b..7b31f09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required (VERSION 3.2) project (libADLMIDI VERSION 1.4.1 LANGUAGES C CXX) include(GNUInstallDirs) +include(CheckCXXCompilerFlag) # Prefer C90 standard set(CMAKE_C_STANDARD 90) @@ -68,6 +69,16 @@ if(OPENBSD_LOCALBASE) include_directories(${OPENBSD_LOCALBASE}/include) endif() +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + check_cxx_compiler_flag("-no-pie" HAS_NO_PIE) +endif() + +function(set_nopie _target) + if(HAS_NO_PIE AND CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + set_property(TARGET ${_target} APPEND_STRING PROPERTY LINK_FLAGS " -no-pie") + endif() +endfunction() + function(set_legacy_standard destTarget) if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) # Turn on warnings and legacy C/C++ standards to support more compilers diff --git a/examples/sdl2_audio/CMakeLists.txt b/examples/sdl2_audio/CMakeLists.txt index fa206a7..0732c10 100644 --- a/examples/sdl2_audio/CMakeLists.txt +++ b/examples/sdl2_audio/CMakeLists.txt @@ -5,9 +5,7 @@ add_executable(adlmidi_sdl2_demo sdl2_sample.c) target_include_directories(adlmidi_sdl2_demo PRIVATE ${SDL2_INCLUDE_DIRS}) target_link_libraries(adlmidi_sdl2_demo PRIVATE ADLMIDI ${SDL2_LIBRARIES}) -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set_property(TARGET adlmidi_sdl2_demo APPEND_STRING PROPERTY LINK_FLAGS " -no-pie") -endif() +set_nopie(adlmidi_sdl2_demo) if(NOT MSVC) target_link_libraries(adlmidi_sdl2_demo PRIVATE pthread) diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt index 3b9c4f3..02351fa 100644 --- a/utils/adlmidi-2/CMakeLists.txt +++ b/utils/adlmidi-2/CMakeLists.txt @@ -29,9 +29,7 @@ if(NOT WIN32 AND NOT ADLMIDI_DOS) target_link_libraries(adlmidi2 PRIVATE ADLMIDI_SDL2) endif() -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set_property(TARGET adlmidi2 APPEND_STRING PROPERTY LINK_FLAGS " -no-pie") -endif() +set_nopie(adlmidi2) if(ADLMIDI2_HAS_PUZZLE_GAME) target_compile_definitions(adlmidi2 PUBLIC SUPPORT_PUZZLE_GAME) diff --git a/utils/dumpbank/CMakeLists.txt b/utils/dumpbank/CMakeLists.txt index 1630ea5..571cdef 100644 --- a/utils/dumpbank/CMakeLists.txt +++ b/utils/dumpbank/CMakeLists.txt @@ -1,8 +1,6 @@ add_executable(adldumpbank dumpbank.cpp) -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set_property(TARGET adldumpbank APPEND_STRING PROPERTY LINK_FLAGS " -no-pie") -endif() +set_nopie(adldumpbank) install(TARGETS adldumpbank RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") diff --git a/utils/dumpmiles/CMakeLists.txt b/utils/dumpmiles/CMakeLists.txt index 1e4349c..07f0a47 100644 --- a/utils/dumpmiles/CMakeLists.txt +++ b/utils/dumpmiles/CMakeLists.txt @@ -1,8 +1,6 @@ add_executable(adldumpmiles dumpmiles.cpp) -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set_property(TARGET adldumpmiles APPEND_STRING PROPERTY LINK_FLAGS " -no-pie") -endif() +set_nopie(adldumpmiles) install(TARGETS adldumpmiles RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") diff --git a/utils/gen_adldata/CMakeLists.txt b/utils/gen_adldata/CMakeLists.txt index bd52283..a3be516 100644 --- a/utils/gen_adldata/CMakeLists.txt +++ b/utils/gen_adldata/CMakeLists.txt @@ -51,9 +51,7 @@ else() target_link_libraries(gen_adldata PRIVATE pthread m) endif() -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set_property(TARGET gen_adldata APPEND_STRING PROPERTY LINK_FLAGS " -no-pie") -endif() +set_nopie(gen_adldata) if(WITH_GENADLDATA_COMMENTS) target_compile_options(gen_adldata PUBLIC "-DADLDATA_WITH_COMMENTS") diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt index 14766b6..c60450f 100644 --- a/utils/midiplay/CMakeLists.txt +++ b/utils/midiplay/CMakeLists.txt @@ -3,9 +3,7 @@ add_executable(adlmidiplay wave_writer.c ) -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set_property(TARGET adlmidiplay APPEND_STRING PROPERTY LINK_FLAGS " -no-pie") -endif() +set_nopie(adlmidiplay) if(NOT ADLMIDI_DOS AND NOT MIDIPLAY_WAVE_ONLY) libADLMIDI_find_SDL2() |