From 313e1b79d034b980a5a1da7b653a7c2a5d2f0a91 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Thu, 25 Aug 2016 15:37:12 +0000 Subject: [PATCH] various cleanups Signed-off-by: Ivailo Monev --- CMakeLists.txt | 4 ++ cmake/modules/KatieBuildMacros.cmake | 65 ++++++++++++++-------------- mkspecs/mac/g++-macx.conf | 32 -------------- mkspecs/mac/gcc-base-macx.conf | 50 --------------------- mkspecs/mac/mac.conf | 21 --------- 5 files changed, 36 insertions(+), 136 deletions(-) delete mode 100644 mkspecs/mac/g++-macx.conf delete mode 100644 mkspecs/mac/gcc-base-macx.conf delete mode 100644 mkspecs/mac/mac.conf diff --git a/CMakeLists.txt b/CMakeLists.txt index 99393af31..08ee0842d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -168,6 +168,10 @@ include(CPack) # does a lot of tests and can (and sometimes it does) take more then 10min. set(CTEST_TEST_TIMEOUT 540) +if(NOT CMAKE_VERSION VERSION_LESS "3.3.0") + cmake_policy(SET CMP0063 NEW) +endif() +set(CMAKE_VISIBILITY_INLINES_HIDDEN ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_DIRECTORIES_BEFORE ON) add_definitions( diff --git a/cmake/modules/KatieBuildMacros.cmake b/cmake/modules/KatieBuildMacros.cmake index e97f04ce6..dae90bd9e 100644 --- a/cmake/modules/KatieBuildMacros.cmake +++ b/cmake/modules/KatieBuildMacros.cmake @@ -111,6 +111,7 @@ function(KATIE_SETUP_TARGET FORTARGET) file(WRITE "${resourcesdep}" "enum { CompilersWorkaroundAlaAutomoc = 1 };\n") endif() set(targetresources) + # TODO: make use of continue() once CMake 3.2 is required foreach(tmpres ${ARGN}) get_filename_component(resource ${tmpres} ABSOLUTE) get_filename_component(rscext ${resource} EXT) @@ -122,50 +123,48 @@ function(KATIE_SETUP_TARGET FORTARGET) if("${rscext}" STREQUAL ".ui") set(rscout "${rscpath}/ui_${rscname}.h") set(targetresources ${targetresources} ${rscout}) - if(skip) - continue() + if(NOT skip) + add_custom_command( + OUTPUT "${rscout}" + COMMAND "${KATIE_UIC}" "${resource}" -o "${rscout}" + ) endif() - add_custom_command( - OUTPUT "${rscout}" - COMMAND "${KATIE_UIC}" "${resource}" -o "${rscout}" - ) elseif("${rscext}" STREQUAL ".qrc") set(rscout "${rscpath}/qrc_${rscname}.cpp") set(targetresources ${targetresources} ${rscout}) - if(skip) - continue() + if(NOT skip) + add_custom_command( + OUTPUT "${rscout}" + COMMAND "${KATIE_RCC}" "${resource}" -o "${rscout}" -name "${rscname}" + ) endif() - add_custom_command( - OUTPUT "${rscout}" - COMMAND "${KATIE_RCC}" "${resource}" -o "${rscout}" -name "${rscname}" - ) elseif("${rscext}" MATCHES "(.h|.cpp|.mm)") file(READ "${resource}" rsccontent) if(NOT "${rsccontent}" MATCHES "(Q_OBJECT|Q_OBJECT_FAKE|Q_GADGET)") - continue() + set(skip TRUE) + else() + set(rscout "${rscpath}/moc_${rscname}${rscext}") + set(targetresources ${targetresources} ${rscout}) endif() - set(rscout "${rscpath}/moc_${rscname}${rscext}") - set(targetresources ${targetresources} ${rscout}) - if(skip) - continue() + if(NOT skip) + get_directory_property(dirdefs COMPILE_DEFINITIONS) + get_directory_property(dirincs INCLUDE_DIRECTORIES) + set(mocargs) + foreach(ddef ${dirdefs}) + # TODO: filter non -D, support -U too + set(mocargs ${mocargs} -D${ddef}) + endforeach() + foreach(incdir ${dirincs}) + set(mocargs ${mocargs} -I${incdir}) + endforeach() + add_custom_command( + OUTPUT "${rscout}" + COMMAND "${KATIE_MOC}" -nw "${resource}" -o "${rscout}" ${mocargs} + ) + # common sources can cause multiple rules on the same file + set_source_files_properties(${resource} PROPERTIES SKIP_RESOURCE TRUE) endif() - get_directory_property(dirdefs COMPILE_DEFINITIONS) - get_directory_property(dirincs INCLUDE_DIRECTORIES) - set(mocargs) - foreach(ddef ${dirdefs}) - # TODO: filter non -D, support -U too - set(mocargs ${mocargs} -D${ddef}) - endforeach() - foreach(incdir ${dirincs}) - set(mocargs ${mocargs} -I${incdir}) - endforeach() - add_custom_command( - OUTPUT "${rscout}" - COMMAND "${KATIE_MOC}" -nw "${resource}" -o "${rscout}" ${mocargs} - ) - # common sources can cause multiple rules on the same file - set_source_files_properties(${resource} PROPERTIES SKIP_RESOURCE TRUE) endif() endforeach() set_source_files_properties(${resourcesdep} PROPERTIES OBJECT_DEPENDS "${targetresources}") diff --git a/mkspecs/mac/g++-macx.conf b/mkspecs/mac/g++-macx.conf deleted file mode 100644 index 22511573c..000000000 --- a/mkspecs/mac/g++-macx.conf +++ /dev/null @@ -1,32 +0,0 @@ -# -# Qmake configuration for the GNU C++ compiler on Mac OS X -# -# Before making changes to this file, please read the comment in -# gcc-base.conf, to make sure the change goes in the right place. -# -# To verify that your change has the desired effect on the final configuration -# you can use the manual test in tests/manual/mkspecs. -# - -include(g++-base.conf) - -QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2 -QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2 -QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g $$QMAKE_CFLAGS_DWARF2 - -QMAKE_LFLAGS_STATIC_LIB += -all_load - -QMAKE_CFLAGS_X86_64 += -Xarch_x86_64 -mmacosx-version-min=10.5 -QMAKE_CFLAGS_PPC_64 += -Xarch_ppc64 -mmacosx-version-min=10.5 - -QMAKE_CXXFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 -QMAKE_CXXFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 -QMAKE_OBJECTIVE_CFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 -QMAKE_OBJECTIVE_CFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 -QMAKE_LFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 -QMAKE_LFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 - -QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} -QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -QMAKE_OBJCXXFLAGS_PRECOMPILE = -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} -QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/mac/gcc-base-macx.conf b/mkspecs/mac/gcc-base-macx.conf deleted file mode 100644 index 2894f86fd..000000000 --- a/mkspecs/mac/gcc-base-macx.conf +++ /dev/null @@ -1,50 +0,0 @@ -# -# Base qmake configuration for GCC on Mac OS X -# -# Before making changes to this file, please read the comment in -# gcc-base.conf, to make sure the change goes in the right place. -# -# To verify that your change has the desired effect on the final configuration -# you can use the manual test in tests/manual/mkspecs. -# - -include(gcc-base.conf) - -QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__ - -QMAKE_CFLAGS_X86 += -arch i386 -QMAKE_CFLAGS_X86_64 += -arch x86_64 -QMAKE_CFLAGS_PPC += -arch ppc -QMAKE_CFLAGS_PPC_64 += -arch ppc64 -QMAKE_CFLAGS_DWARF2 += -gdwarf-2 - -QMAKE_CXXFLAGS_X86 += $$QMAKE_CFLAGS_X86 -QMAKE_CXXFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64 -QMAKE_CXXFLAGS_PPC += $$QMAKE_CFLAGS_PPC -QMAKE_CXXFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64 -QMAKE_CXXFLAGS_DWARF2 += $$QMAKE_CFLAGS_DWARF2 - -QMAKE_OBJECTIVE_CFLAGS = $$QMAKE_CFLAGS -QMAKE_OBJECTIVE_CFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_OBJECTIVE_CFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_OBJECTIVE_CFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_OBJECTIVE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_OBJECTIVE_CFLAGS_HIDESYMS = $$QMAKE_CXXFLAGS_HIDESYMS -QMAKE_OBJECTIVE_CFLAGS_X86 = $$QMAKE_CFLAGS_X86 -QMAKE_OBJECTIVE_CFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 -QMAKE_OBJECTIVE_CFLAGS_PPC = $$QMAKE_CFLAGS_PPC -QMAKE_OBJECTIVE_CFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 - -QMAKE_LFLAGS_X86 += $$QMAKE_CFLAGS_X86 -QMAKE_LFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64 -QMAKE_LFLAGS_PPC += $$QMAKE_CFLAGS_PPC -QMAKE_LFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64 - -QMAKE_LFLAGS += -headerpad_max_install_names -QMAKE_LFLAGS_SHLIB += -single_module -dynamiclib -QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_INCREMENTAL += -undefined suppress -flat_namespace -QMAKE_LFLAGS_SONAME += -install_name$${LITERAL_WHITESPACE} -QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE} -QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE} - diff --git a/mkspecs/mac/mac.conf b/mkspecs/mac/mac.conf deleted file mode 100644 index b8bb56ac1..000000000 --- a/mkspecs/mac/mac.conf +++ /dev/null @@ -1,21 +0,0 @@ -# -# qmake configuration for common Mac OS X -# - -QMAKE_RESOURCE = /Developer/Tools/Rez - -QMAKE_EXTENSION_SHLIB = dylib - -QMAKE_LIBDIR = -QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] -QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] -QMAKE_INCDIR_OPENGL = /System/Library/Frameworks/OpenGL.framework/Headers \ - /System/Library/Frameworks/AGL.framework/Headers/ - -QMAKE_LIBS_DYNLOAD = -QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL -QMAKE_LIBS_OPENGL_QT = $$QMAKE_LIBS_OPENGL -QMAKE_LIBS_THREAD = - -QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 # overridden to 10.5 for Cocoa on the compiler command line -