Use target_compile_options instead of the hammer
Doing per target ensures that the python stuff won't get -Werror. We can now build the python bindings and still use the developer build
This commit is contained in:
@@ -27,13 +27,15 @@ set(PYTHON_MODULE_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake/Python")
|
|||||||
set(CMAKE_MODULE_PATH ${ECM_MODULE_DIR} ${PYTHON_MODULE_DIR})
|
set(CMAKE_MODULE_PATH ${ECM_MODULE_DIR} ${PYTHON_MODULE_DIR})
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
|
|
||||||
if (OPTION_DEVELOPER_MODE)
|
|
||||||
include(ECMEnableSanitizers)
|
macro(set_compiler_flags targetName)
|
||||||
add_definitions(-DDOCKS_DEVELOPER_MODE -DQT_FORCE_ASSERTS)
|
if (OPTION_DEVELOPER_MODE)
|
||||||
if (NOT MSVC)
|
target_compile_definitions(${targetName} PRIVATE DOCKS_DEVELOPER_MODE QT_FORCE_ASSERTS)
|
||||||
add_compile_options(-Wall -Wextra -Werror -Wno-error=deprecated-declarations)
|
if (NOT MSVC)
|
||||||
|
target_compile_options(${targetName} PRIVATE -Wall -Wextra -Werror -Wno-error=deprecated-declarations)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endmacro()
|
||||||
|
|
||||||
if (OPTION_QTQUICK)
|
if (OPTION_QTQUICK)
|
||||||
find_package(Qt5Quick)
|
find_package(Qt5Quick)
|
||||||
@@ -49,6 +51,7 @@ if (OPTION_BUILD_PYTHON_BINDINGS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (OPTION_DEVELOPER_MODE)
|
if (OPTION_DEVELOPER_MODE)
|
||||||
|
include(ECMEnableSanitizers)
|
||||||
if (NOT OPTION_QTQUICK)
|
if (NOT OPTION_QTQUICK)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
|
|||||||
@@ -113,6 +113,7 @@ qt5_add_resources(RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/resources.qrc)
|
|||||||
|
|
||||||
add_library(kddockwidgets SHARED ${DOCKSLIBS_SRCS} ${DOCKS_INSTALLABLE_INCLUDES} ${RESOURCES} ${RESOURCES_QUICK})
|
add_library(kddockwidgets SHARED ${DOCKSLIBS_SRCS} ${DOCKS_INSTALLABLE_INCLUDES} ${RESOURCES} ${RESOURCES_QUICK})
|
||||||
add_library(KDAB::kddockwidgets ALIAS kddockwidgets)
|
add_library(KDAB::kddockwidgets ALIAS kddockwidgets)
|
||||||
|
set_compiler_flags(kddockwidgets)
|
||||||
|
|
||||||
target_include_directories(kddockwidgets
|
target_include_directories(kddockwidgets
|
||||||
PUBLIC
|
PUBLIC
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ qt5_add_resources(MULTISPLITTER_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/multisplit
|
|||||||
add_library(kddockwidgets_multisplitter SHARED ${MULTISPLITTER_SRCS} ${MULTISPLITTER_RESOURCES})
|
add_library(kddockwidgets_multisplitter SHARED ${MULTISPLITTER_SRCS} ${MULTISPLITTER_RESOURCES})
|
||||||
add_library(KDAB::kddockwidgets_multisplitter ALIAS kddockwidgets_multisplitter)
|
add_library(KDAB::kddockwidgets_multisplitter ALIAS kddockwidgets_multisplitter)
|
||||||
target_link_libraries(kddockwidgets_multisplitter Qt5::Core Qt5::Widgets)
|
target_link_libraries(kddockwidgets_multisplitter Qt5::Core Qt5::Widgets)
|
||||||
|
set_compiler_flags(kddockwidgets_multisplitter)
|
||||||
|
|
||||||
if (BUILD_MULTISPLITTER_QTWIDGETS_FRONTEND)
|
if (BUILD_MULTISPLITTER_QTWIDGETS_FRONTEND)
|
||||||
find_package(Qt5Widgets)
|
find_package(Qt5Widgets)
|
||||||
|
|||||||
@@ -3,3 +3,4 @@ find_package(Qt5Test)
|
|||||||
|
|
||||||
add_executable(tst_multisplitter tst_multisplitter.cpp)
|
add_executable(tst_multisplitter tst_multisplitter.cpp)
|
||||||
target_link_libraries(tst_multisplitter kddockwidgets_multisplitter Qt5::Test)
|
target_link_libraries(tst_multisplitter kddockwidgets_multisplitter Qt5::Test)
|
||||||
|
set_compiler_flags(tst_multisplitter)
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ include_directories(../src/private)
|
|||||||
qt5_add_resources(TESTING_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/test_resources.qrc)
|
qt5_add_resources(TESTING_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/test_resources.qrc)
|
||||||
add_executable(tst_docks tst_docks.cpp ${TESTING_SRCS} ${TESTING_RESOURCES})
|
add_executable(tst_docks tst_docks.cpp ${TESTING_SRCS} ${TESTING_RESOURCES})
|
||||||
target_link_libraries(tst_docks kddockwidgets kddockwidgets_multisplitter Qt5::Widgets Qt5::Test)
|
target_link_libraries(tst_docks kddockwidgets kddockwidgets_multisplitter Qt5::Widgets Qt5::Test)
|
||||||
|
set_compiler_flags(tst_docks)
|
||||||
|
|
||||||
add_subdirectory(fuzzer)
|
add_subdirectory(fuzzer)
|
||||||
|
|
||||||
|
|||||||
@@ -7,3 +7,4 @@ add_executable(fuzzer
|
|||||||
|
|
||||||
set_property(TARGET fuzzer PROPERTY CXX_STANDARD 17)
|
set_property(TARGET fuzzer PROPERTY CXX_STANDARD 17)
|
||||||
target_link_libraries(fuzzer kddockwidgets Qt5::Widgets Qt5::Test)
|
target_link_libraries(fuzzer kddockwidgets Qt5::Widgets Qt5::Test)
|
||||||
|
set_compiler_flags(fuzzer)
|
||||||
|
|||||||
Reference in New Issue
Block a user