From c46d1260f526a2ce2212a70f02c0bdf0ce660b67 Mon Sep 17 00:00:00 2001 From: James Sherratt Date: Wed, 24 Aug 2022 20:03:40 +0100 Subject: [PATCH] Tidy up --- CMakeLists.txt | 72 +++++++++---------- mk/cmake/Modules/SpecialMacros.cmake | 2 +- source/g3d_viewer/CMakeLists.txt | 4 +- source/glest_game/CMakeLists.txt | 4 +- source/glest_map_editor/CMakeLists.txt | 6 +- source/shared_lib/CMakeLists.txt | 6 +- .../sources/streflop/CMakeLists.txt | 4 +- 7 files changed, 48 insertions(+), 50 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ce5400c2..0d301921 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,35 +2,8 @@ IF(WIN32) # Windows cmake version needs to be higher - for CMAKE_MSVC_RUNTIME_LIBRARY. CMAKE_MINIMUM_REQUIRED( VERSION 3.15 ) - STRING(SUBSTRING ${CMAKE_GENERATOR} 0 13 GENERATOR_TYPE) - SET(VS_BUILD GENERATOR_TYPE STREQUAL "Visual Studio" CACHE STRING "Target visual studio.") - IF(VS_BUILD) - # This must be Set before "PROJECT()" is called. - set(VCPKG_TARGET_TRIPLET "x64-windows-static") - - # Sets the flags MT/ MTd correctly. - set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") - - include(ProcessorCount) - ProcessorCount(N) - IF(N GREATER 0) - MESSAGE(STATUS "Will build on ${N} cores.") - ELSE() - SET(N 1) - MESSAGE(STATUS "Could not find number of cores. Will attempt to build on ${N} cores.") - ENDIF() - - # "MP" is build with all cores. - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MP${N}") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MP${N}") - SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_$} /MP${N}" ) - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_$} /MP${N}" ) - - SET(MEGAGLEST_DATA_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/" CACHE STRING "The installation path for data files ${COMMON_INFO_ABOUT_PATH}") - SET(MEGAGLEST_INI_INSTALL_PATH "${MEGAGLEST_DATA_INSTALL_PATH}" CACHE STRING "Install path for ini files") - - INCLUDE(FindPkgConfig) - ENDIF() + # This must be Set before "PROJECT()" is called. + SET(VCPKG_TARGET_TRIPLET "x64-windows-static") ELSE() CMAKE_MINIMUM_REQUIRED( VERSION 3.5 ) ENDIF() @@ -55,6 +28,31 @@ IF(NOT CMAKE_VERSION VERSION_LESS "3.1") cmake_policy(SET CMP0054 NEW) ENDIF() +IF(MSVC) + # Sets the flags MT/ MTd correctly. + SET(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + + INCLUDE(ProcessorCount) + ProcessorCount(N) + IF(N GREATER 0) + MESSAGE(STATUS "Will build on ${N} cores.") + ELSE() + SET(N 1) + MESSAGE(STATUS "Could not find number of cores. Will attempt to build on ${N} cores.") + ENDIF() + + # "MP" is build with all cores. + SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MP${N}") + SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MP${N}") + SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_$} /MP${N}" ) + SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_$} /MP${N}" ) + + SET(MEGAGLEST_DATA_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/" CACHE STRING "The installation path for data files ${COMMON_INFO_ABOUT_PATH}") + SET(MEGAGLEST_INI_INSTALL_PATH "${MEGAGLEST_DATA_INSTALL_PATH}" CACHE STRING "Install path for ini files") + + INCLUDE(FindPkgConfig) +ENDIF() + # add additional CMake modules MESSAGE(STATUS "CMAKE_SOURCE_DIR = ${CMAKE_SOURCE_DIR}") list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/mk/cmake/Modules) @@ -127,7 +125,7 @@ FOREACH(ver_var VER_MAJOR;VER_MINOR;VER_PATCH;MEGAGLEST_VERSION) ENDFOREACH() MESSAGE(STATUS "Detected MegaGlest Version is [v${MEGAGLEST_VERSION}] ") -IF(NOT VS_BUILD) +IF(NOT MSVC) SET(PIC_FLAG "${PIC_FLAG} -fPIC") IF(WANT_STATIC_LIBS AND "${CMAKE_SIZEOF_VOID_P}" EQUAL "8") # CMAKE_SIZEOF_VOID_P=8 => 64bit @@ -140,19 +138,19 @@ IF(APPLE) include(${PROJECT_SOURCE_DIR}/mk/macos/CMakeLists.txt) ENDIF(APPLE) -IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW OR VS_BUILD) +IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW OR MSVC) IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") MESSAGE(STATUS "Detected CLANG Compiler...") ELSEIF(CMAKE_COMPILER_IS_GNUCXX) MESSAGE(STATUS "Detected GNUC Compiler...") ELSEIF(MINGW) MESSAGE(STATUS "Detected MINGW Compiler...") - ELSEIF(VS_BUILD) + ELSEIF(MSVC) MESSAGE(STATUS "Detected VS target for building with msbuild...") ENDIF() # Common generic GNU type compiler options that work with all generic GCC compatible compilers - IF(NOT VS_BUILD) + IF(NOT MSVC) ADD_DEFINITIONS("-Wuninitialized -Wsign-compare -Wunused-function -Wunused-variable -Wreturn-type -fno-strict-aliasing") ENDIF() @@ -170,7 +168,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW OR VS_BUILD) # CLang specific Compiler Options IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") - ELSEIF(VS_BUILD) + ELSEIF(MSVC) # GCC specific Compiler Options ELSE() @@ -238,7 +236,7 @@ size_t stack_depth = backtrace(stack_addrs, max_depth); message(STATUS "**WARNING DID NOT Find GCC backtrace lib") ENDIF() - IF(NOT VS_BUILD) + IF(NOT MSVC) # Debug compiler flags SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3") @@ -374,7 +372,7 @@ size_t stack_depth = backtrace(stack_addrs, max_depth); message(STATUS "CMAKE_CXX_FLAGS_${MG_BUILD_TYPE}: ${CMAKE_CXX_FLAGS_${MG_BUILD_TYPE}}") # Win32 specific Compiler Flags - IF(WIN32 AND NOT VS_BUILD) + IF(WIN32 AND NOT MSVC) ADD_DEFINITIONS("-D_WINDOWS -D_WIN32 -D_STDCALL_SUPPORTED -D_M_IX86 -DXML_LIBRARY -D_LIB -DCURL_STATICLIB") ENDIF() ENDIF() @@ -418,7 +416,7 @@ ELSE() ENDIF() # Set VS project exe outputs. -IF(VS_BUILD) +IF(MSVC) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${MEGAGLEST_FRIENDLY_OUTPUT_PATH}) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${MEGAGLEST_FRIENDLY_OUTPUT_PATH}) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${MEGAGLEST_FRIENDLY_OUTPUT_PATH}) diff --git a/mk/cmake/Modules/SpecialMacros.cmake b/mk/cmake/Modules/SpecialMacros.cmake index e96dbd3b..77d2e0c7 100644 --- a/mk/cmake/Modules/SpecialMacros.cmake +++ b/mk/cmake/Modules/SpecialMacros.cmake @@ -20,7 +20,7 @@ macro(special_check_for_sse _max_sse_level_desired) include(CheckCXXSourceRuns) include(CheckCSourceRuns) - # Add vs_build to stop flags added to msbuild. + # Add MSVC to stop flags being added to msbuild. IF(NOT MINGW) set(SSE_FLAGS) diff --git a/source/g3d_viewer/CMakeLists.txt b/source/g3d_viewer/CMakeLists.txt index 01ca2b87..660e82bb 100644 --- a/source/g3d_viewer/CMakeLists.txt +++ b/source/g3d_viewer/CMakeLists.txt @@ -62,7 +62,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER) MESSAGE(STATUS " wxWidgets: ${wxWidgets_INCLUDE_DIRS} ;/; ${wxWidgets_LIBRARIES}") ENDIF() - IF(NOT VS_BUILD) + IF(NOT MSVC) find_package(PkgConfig REQUIRED) ENDIF() IF(FORCE_STREFLOP_SOFTWRAPPER) @@ -98,7 +98,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER) ENDIF() IF(WIN32) - IF(NOT VS_BUILD) + IF(NOT MSVC) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu_gl-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwxpng-2.8-i586-mingw32msvc.a) diff --git a/source/glest_game/CMakeLists.txt b/source/glest_game/CMakeLists.txt index f1cc3db8..6902e8ac 100644 --- a/source/glest_game/CMakeLists.txt +++ b/source/glest_game/CMakeLists.txt @@ -140,7 +140,7 @@ IF(BUILD_MEGAGLEST) ENDIF() - IF(NOT VS_BUILD) + IF(NOT MSVC) find_package(PkgConfig REQUIRED) ENDIF() IF(FORCE_STREFLOP_SOFTWRAPPER) @@ -264,7 +264,7 @@ IF(BUILD_MEGAGLEST) add_custom_target(run ALL DEPENDS mg.tmp) ENDIF() - IF(WIN32 AND NOT VS_BUILD) + IF(WIN32 AND NOT MSVC) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-subsystem,console -mconsole") ENDIF() diff --git a/source/glest_map_editor/CMakeLists.txt b/source/glest_map_editor/CMakeLists.txt index 3f6b3dd2..3cf0ce2b 100644 --- a/source/glest_map_editor/CMakeLists.txt +++ b/source/glest_map_editor/CMakeLists.txt @@ -49,7 +49,7 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR) ENDIF() IF(WIN32) - IF(NOT VS_BUILD) + IF(NOT MSVC) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu_gl-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwxpng-2.8-i586-mingw32msvc.a) @@ -82,7 +82,7 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR) ENDIF() ENDIF() - IF(NOT VS_BUILD) + IF(NOT MSVC) find_package(PkgConfig REQUIRED) ENDIF() IF(FORCE_STREFLOP_SOFTWRAPPER) @@ -187,7 +187,7 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR) SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1) - IF(VS_BUILD) + IF(MSVC) # Needed to build a window app and not just a upnp console app. Not really sure why. ADD_EXECUTABLE(${TARGET_NAME} WIN32 ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) ELSE() diff --git a/source/shared_lib/CMakeLists.txt b/source/shared_lib/CMakeLists.txt index b4b796b6..fedac7e4 100644 --- a/source/shared_lib/CMakeLists.txt +++ b/source/shared_lib/CMakeLists.txt @@ -4,7 +4,7 @@ OPTION(FORCE_EMBEDDED_LIBS "Force use of embedded libraries' code." OFF) # IMPORTANT: should come BEFORE finding packages -IF(NOT VS_BUILD) +IF(NOT MSVC) find_package(PkgConfig REQUIRED) ENDIF() @@ -296,7 +296,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST FIND_PACKAGE(Miniupnpc) ENDIF() - if(NOT MINIUPNP_FOUND OR VS_BUILD) + if(NOT MINIUPNP_FOUND OR MSVC) if(NOT FORCE_USE_EMBEDDED_Miniupnpc) MESSAGE(STATUS "*** Using EMBEDDED miniupnpc since dev system does not have it... MINIUPNP_FOUND [${MINIUPNP_FOUND}]") else() @@ -312,7 +312,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST else() add_definitions (-D_POSIX_C_SOURCE=200809L) endif () - ELSEIF(VS_BUILD) + ELSEIF(MSVC) ADD_COMPILE_DEFINITIONS(MINIUPNP_STATICLIB) endif() diff --git a/source/shared_lib/sources/streflop/CMakeLists.txt b/source/shared_lib/sources/streflop/CMakeLists.txt index 3bc4338d..d3e8d9a4 100644 --- a/source/shared_lib/sources/streflop/CMakeLists.txt +++ b/source/shared_lib/sources/streflop/CMakeLists.txt @@ -13,7 +13,7 @@ INCLUDE_DIRECTORIES( SET(STREFLOP_SRC ${STREFLOP_GLOBBED_CPP}) -IF(VS_BUILD) +IF(MSVC) ENABLE_LANGUAGE(ASM_MASM) SET(STREFLOP_SRC ${STREFLOP_SRC} FPUSettings.asm) ENDIF() @@ -22,6 +22,6 @@ ADD_LIBRARY(streflop STATIC EXCLUDE_FROM_ALL ${STREFLOP_SRC} ) -IF(NOT VS_BUILD) +IF(NOT MSVC) set_target_properties(streflop PROPERTIES COMPILE_FLAGS "${PIC_FLAG}") ENDIF()