Use target_compile_definitions instead of add_definitions.
This allows macro definitions to be inherited. There might be symbols that can be made private. This is likely breaking the build on non-linux systems.
This commit is contained in:
parent
7f35b240b5
commit
b5c69dc386
@ -96,7 +96,7 @@ add_library(${PROJECT_NAME} ${sources} )
|
|||||||
########### OS
|
########### OS
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
add_definitions(-DWIN32)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC WIN32)
|
||||||
set(CMAKE_DEBUG_POSTFIX "_d")
|
set(CMAKE_DEBUG_POSTFIX "_d")
|
||||||
#Global MSVC definitions. You may prefer the hand-tuned sln and projects from the nana repository.
|
#Global MSVC definitions. You may prefer the hand-tuned sln and projects from the nana repository.
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
@ -123,8 +123,10 @@ if(WIN32)
|
|||||||
|
|
||||||
if(MINGW)
|
if(MINGW)
|
||||||
if(NANA_CMAKE_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ)
|
if(NANA_CMAKE_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ)
|
||||||
add_definitions(-DSTD_THREAD_NOT_SUPPORTED)
|
target_compile_definitions(${PROJECT_NAME}
|
||||||
add_definitions(-DNANA_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ)
|
PUBLIC STD_THREAD_NOT_SUPPORTED
|
||||||
|
PUBLIC NANA_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ
|
||||||
|
)
|
||||||
endif(NANA_CMAKE_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ)
|
endif(NANA_CMAKE_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ)
|
||||||
endif(MINGW)
|
endif(MINGW)
|
||||||
|
|
||||||
@ -146,12 +148,12 @@ endif(WIN32)
|
|||||||
|
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
add_definitions(-DAPPLE)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC APPLE)
|
||||||
include_directories(/opt/X11/include/)
|
include_directories(/opt/X11/include/)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE iconv)
|
target_link_libraries(${PROJECT_NAME} PRIVATE iconv)
|
||||||
set(ENABLE_AUDIO OFF)
|
set(ENABLE_AUDIO OFF)
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
add_definitions(-Dlinux)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC linux)
|
||||||
message("added -D linux")
|
message("added -D linux")
|
||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
|
|
||||||
@ -236,13 +238,13 @@ if(NANA_CMAKE_ENABLE_PNG)
|
|||||||
target_compile_definitions(${PROJECT_NAME} PUBLIC USE_LIBPNG_FROM_OS)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC USE_LIBPNG_FROM_OS)
|
||||||
endif(PNG_FOUND)
|
endif(PNG_FOUND)
|
||||||
else()
|
else()
|
||||||
add_definitions(-DNANA_ENABLE_PNG)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC NANA_ENABLE_PNG)
|
||||||
endif(NANA_CMAKE_LIBPNG_FROM_OS)
|
endif(NANA_CMAKE_LIBPNG_FROM_OS)
|
||||||
endif(NANA_CMAKE_ENABLE_PNG)
|
endif(NANA_CMAKE_ENABLE_PNG)
|
||||||
|
|
||||||
# Find JPEG
|
# Find JPEG
|
||||||
if(NANA_CMAKE_ENABLE_JPEG)
|
if(NANA_CMAKE_ENABLE_JPEG)
|
||||||
add_definitions(-DNANA_ENABLE_JPEG)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC NANA_ENABLE_JPEG)
|
||||||
if(NANA_CMAKE_LIBJPEG_FROM_OS)
|
if(NANA_CMAKE_LIBJPEG_FROM_OS)
|
||||||
find_package(JPEG)
|
find_package(JPEG)
|
||||||
if (JPEG_FOUND)
|
if (JPEG_FOUND)
|
||||||
@ -257,7 +259,7 @@ endif(NANA_CMAKE_ENABLE_JPEG)
|
|||||||
|
|
||||||
# Find ASOUND
|
# Find ASOUND
|
||||||
if(NANA_CMAKE_ENABLE_AUDIO)
|
if(NANA_CMAKE_ENABLE_AUDIO)
|
||||||
add_definitions(-DNANA_ENABLE_AUDIO)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC NANA_ENABLE_AUDIO)
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
find_package(ASOUND)
|
find_package(ASOUND)
|
||||||
if (ASOUND_FOUND)
|
if (ASOUND_FOUND)
|
||||||
@ -271,12 +273,12 @@ endif(NANA_CMAKE_ENABLE_AUDIO)
|
|||||||
|
|
||||||
# Find/Select filesystem
|
# Find/Select filesystem
|
||||||
if (NANA_CMAKE_NANA_FILESYSTEM_FORCE)
|
if (NANA_CMAKE_NANA_FILESYSTEM_FORCE)
|
||||||
add_definitions(-DNANA_FILESYSTEM_FORCE)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC NANA_FILESYSTEM_FORCE)
|
||||||
elseif (NANA_CMAKE_STD_FILESYSTEM_FORCE)
|
elseif (NANA_CMAKE_STD_FILESYSTEM_FORCE)
|
||||||
add_definitions(-DSTD_FILESYSTEM_FORCE)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC STD_FILESYSTEM_FORCE)
|
||||||
elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE)
|
elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE)
|
||||||
if (NANA_CMAKE_BOOST_FILESYSTEM_FORCE)
|
if (NANA_CMAKE_BOOST_FILESYSTEM_FORCE)
|
||||||
add_definitions(-DNANA_BOOST_FILESYSTEM_FORCE)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC NANA_BOOST_FILESYSTEM_FORCE)
|
||||||
endif(NANA_CMAKE_BOOST_FILESYSTEM_FORCE)
|
endif(NANA_CMAKE_BOOST_FILESYSTEM_FORCE)
|
||||||
# https://cmake.org/cmake/help/git-master/module/FindBoost.html
|
# https://cmake.org/cmake/help/git-master/module/FindBoost.html
|
||||||
# Implicit dependencies such as Boost::filesystem requiring Boost::system will be automatically detected and satisfied,
|
# Implicit dependencies such as Boost::filesystem requiring Boost::system will be automatically detected and satisfied,
|
||||||
@ -284,7 +286,7 @@ elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE)
|
|||||||
# If using Boost::thread, then Thread::Thread will also be added automatically.
|
# If using Boost::thread, then Thread::Thread will also be added automatically.
|
||||||
find_package(Boost COMPONENTS filesystem)
|
find_package(Boost COMPONENTS filesystem)
|
||||||
if (Boost_FOUND)
|
if (Boost_FOUND)
|
||||||
add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC NANA_BOOST_FILESYSTEM_AVAILABLE)
|
||||||
target_link_libraries(${PROJECT_NAME} PUBLIC Boost::Boost)
|
target_link_libraries(${PROJECT_NAME} PUBLIC Boost::Boost)
|
||||||
endif (Boost_FOUND)
|
endif (Boost_FOUND)
|
||||||
set(Boost_USE_STATIC_LIBS ON)
|
set(Boost_USE_STATIC_LIBS ON)
|
||||||
@ -294,13 +296,13 @@ endif (NANA_CMAKE_NANA_FILESYSTEM_FORCE)
|
|||||||
|
|
||||||
######## Nana options
|
######## Nana options
|
||||||
|
|
||||||
add_definitions(-DNANA_IGNORE_CONF)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC NANA_IGNORE_CONF)
|
||||||
if(NANA_CMAKE_VERBOSE_PREPROCESSOR)
|
if(NANA_CMAKE_VERBOSE_PREPROCESSOR)
|
||||||
add_definitions(-DVERBOSE_PREPROCESSOR)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC VERBOSE_PREPROCESSOR)
|
||||||
endif(NANA_CMAKE_VERBOSE_PREPROCESSOR)
|
endif(NANA_CMAKE_VERBOSE_PREPROCESSOR)
|
||||||
if(NANA_CMAKE_AUTOMATIC_GUI_TESTING)
|
if(NANA_CMAKE_AUTOMATIC_GUI_TESTING)
|
||||||
add_definitions(-DNANA_AUTOMATIC_GUI_TESTING)
|
target_compile_definitions(${PROJECT_NAME} PRIVATE NANA_AUTOMATIC_GUI_TESTING)
|
||||||
enable_testing ()
|
enable_testing ()
|
||||||
endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING)
|
endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user