diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/install_macros.cmake | 22 | ||||
-rw-r--r-- | cmake/os/FreeBSD.cmake | 3 | ||||
-rw-r--r-- | cmake/os/Windows.cmake | 4 | ||||
-rw-r--r-- | cmake/package_name.cmake | 3 |
4 files changed, 23 insertions, 9 deletions
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake index 07aa4500188..56a540fde89 100644 --- a/cmake/install_macros.cmake +++ b/cmake/install_macros.cmake @@ -250,7 +250,7 @@ SET(DEBUGBUILDDIR "${BINARY_PARENTDIR}/debug" CACHE INTERNAL "Directory of debug FUNCTION(INSTALL_DEBUG_TARGET target) CMAKE_PARSE_ARGUMENTS(ARG - "DESTINATION;RENAME" + "DESTINATION;RENAME;PDB_DESTINATION;COMPONENT" "" ${ARGN} ) @@ -269,6 +269,9 @@ FUNCTION(INSTALL_DEBUG_TARGET target) ELSE() STRING(REPLACE "${CMAKE_CFG_INTDIR}" "Debug" debug_target_location "${target_location}" ) ENDIF() + IF(NOT ARG_COMPONENT) + SET(ARG_COMPONENT DebugBinaries) + ENDIF() # Define permissions # For executable files @@ -305,19 +308,26 @@ FUNCTION(INSTALL_DEBUG_TARGET target) ${RENAME_PARAM} ${PERMISSIONS_${target_type}} CONFIGURATIONS Release RelWithDebInfo + COMPONENT ${ARG_COMPONENT} OPTIONAL) IF(MSVC) GET_FILENAME_COMPONENT(ext ${debug_target_location} EXT) STRING(REPLACE "${ext}" ".pdb" debug_pdb_target_location "${debug_target_location}" ) - IF(RENAME_PARAM) - STRING(REPLACE "${ext}" ".pdb" "${ARG_RENAME}" pdb_rename) - SET(PDB_RENAME_PARAM RENAME ${pdb_rename}) + IF (RENAME_PARAM) + IF(NOT ARG_PDB_DESTINATION) + STRING(REPLACE "${ext}" ".pdb" "${ARG_RENAME}" pdb_rename) + SET(PDB_RENAME_PARAM RENAME "${pdb_rename}") + ENDIF() + ENDIF() + IF(NOT ARG_PDB_DESTINATION) + SET(ARG_PDB_DESTINATION "${ARG_DESTINATION}") ENDIF() INSTALL(FILES ${debug_pdb_target_location} - DESTINATION ${ARG_DESTINATION} - ${RPDB_RENAME_PARAM} + DESTINATION ${ARG_PDB_DESTINATION} + ${PDB_RENAME_PARAM} CONFIGURATIONS Release RelWithDebInfo + COMPONENT ${ARG_COMPONENT} OPTIONAL) ENDIF() ENDFUNCTION() diff --git a/cmake/os/FreeBSD.cmake b/cmake/os/FreeBSD.cmake index be7af778e93..e09592942c1 100644 --- a/cmake/os/FreeBSD.cmake +++ b/cmake/os/FreeBSD.cmake @@ -20,4 +20,5 @@ # #Legacy option, maybe not needed anymore , taken as is from autotools build # ADD_DEFINITIONS(-DNET_RETRY_COUNT=1000000) -ADD_DEFINITIONS(-DHAVE_BROKEN_REALPATH) +# The below was used for really old versions of FreeBSD, roughly: before 5.1.9 +# ADD_DEFINITIONS(-DHAVE_BROKEN_REALPATH) diff --git a/cmake/os/Windows.cmake b/cmake/os/Windows.cmake index 3be739d3122..aac7e484f26 100644 --- a/cmake/os/Windows.cmake +++ b/cmake/os/Windows.cmake @@ -110,6 +110,10 @@ IF(MSVC) ADD_DEFINITIONS(/wd4996) ENDIF() + # Make class/struct definition mismatch an error (overseen too often, + # adds tons of new warnings) + ADD_DEFINITIONS(/we4099) + IF(CMAKE_SIZEOF_VOID_P MATCHES 8) # _WIN64 is defined by the compiler itself. # Yet, we define it here again to work around a bug with Intellisense diff --git a/cmake/package_name.cmake b/cmake/package_name.cmake index 6e6fe89e8b3..b027ac3901f 100644 --- a/cmake/package_name.cmake +++ b/cmake/package_name.cmake @@ -26,11 +26,10 @@ IF(NOT VERSION) SET(NEED_DASH_BETWEEN_PLATFORM_AND_MACHINE 1) SET(DEFAULT_PLATFORM ${CMAKE_SYSTEM_NAME}) SET(DEFAULT_MACHINE ${CMAKE_SYSTEM_PROCESSOR}) - MESSAGE("SIZEOF_VOIDP=${SIZEOF_VOIDP}") IF(SIZEOF_VOIDP EQUAL 8) SET(64BIT 1) ENDIF() - + IF(CMAKE_SYSTEM_NAME MATCHES "Windows") SET(NEED_DASH_BETWEEN_PLATFORM_AND_MACHINE 0) SET(DEFAULT_PLATFORM "win") |