From 885114605c6ea79c228ad2d6717fde997f0c7ce7 Mon Sep 17 00:00:00 2001 From: TheoryOfNekomata Date: Wed, 15 Feb 2023 08:20:33 +0800 Subject: [PATCH] Update CMake Unify variables across the project. --- .gitignore | 2 +- CMakeLists.txt | 113 +++++++++++++------------------ src/packages/asset-inv/main.c | 2 +- src/packages/compat/IZ_windows.h | 2 +- src/packages/game/IZ_app_input.c | 2 +- src/packages/io/IZ_io.c | 4 +- src/packages/log/IZ_log.c | 2 +- src/packages/stdinc/IZ_string.c | 6 +- src/packages/timer/IZ_timer.c | 2 +- 9 files changed, 59 insertions(+), 76 deletions(-) diff --git a/.gitignore b/.gitignore index 044a7d7..52362bf 100644 --- a/.gitignore +++ b/.gitignore @@ -58,7 +58,7 @@ $RECYCLE.BIN/ *.msp *.lnk .idea/ -cmake-build-debug/ +cmake-build-*/ /dependencies/ assets_wip/ Backup_*.cdr diff --git a/CMakeLists.txt b/CMakeLists.txt index df31f38..1035eef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,25 +7,31 @@ set(CMAKE_C_STANDARD 11) # if (WIN32) # TODO set arch on target instead of generator - set(PLATFORM WINDOWS) + set(IZ_PLATFORM WINDOWS) + set(IZ_CRYPTO_LIBRARIES libcrypto libssl) + add_definitions( + -DIZ_WINDOWS + ) if (CMAKE_SIZEOF_VOID_P EQUAL 8) - set(PROJECT_ARCH x64) + set(IZ_PROJECT_ARCH x64) add_definitions( -DIZ_WIN64 ) else () - set(PROJECT_ARCH x86) + set(IZ_PROJECT_ARCH x86) add_definitions( -DIZ_WIN32 ) endif () elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set(PLATFORM MACOS) + set(IZ_PLATFORM MACOS) + set(IZ_CRYPTO_LIBRARIES crypto ssl) add_definitions( -DIZ_MACOS ) else() - set(PLATFORM UNIX) + set(IZ_PLATFORM UNIX) + set(IZ_CRYPTO_LIBRARIES crypto ssl) add_definitions( -DIZ_UNIX ) @@ -64,20 +70,23 @@ include_directories( "${PROJECT_SOURCE_DIR}/dependencies/spine-runtimes/spine-c/spine-c/include" "${PROJECT_SOURCE_DIR}/dependencies/getopt-for-windows" "${PROJECT_SOURCE_DIR}/dependencies/libwebsockets/build/include" - "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/include" + "${PROJECT_SOURCE_DIR}/dependencies/openssl/${IZ_PROJECT_ARCH}/include" "${PROJECT_SOURCE_DIR}/dependencies/sqlite" ) -if (WIN32) +if (IZ_PLATFORM STREQUAL "WINDOWS") link_directories( - "${PROJECT_SOURCE_DIR}/dependencies/SDL2/lib/${PROJECT_ARCH}" - "${PROJECT_SOURCE_DIR}/dependencies/SDL2_image/lib/${PROJECT_ARCH}" - "${PROJECT_SOURCE_DIR}/dependencies/SDL2_ttf/lib/${PROJECT_ARCH}" + "${PROJECT_SOURCE_DIR}/dependencies/SDL2/lib/${IZ_PROJECT_ARCH}" + "${PROJECT_SOURCE_DIR}/dependencies/SDL2_image/lib/${IZ_PROJECT_ARCH}" + "${PROJECT_SOURCE_DIR}/dependencies/SDL2_ttf/lib/${IZ_PROJECT_ARCH}" "${PROJECT_SOURCE_DIR}/dependencies/portmidi/Release" "${PROJECT_SOURCE_DIR}/dependencies/libwebsockets/build/lib/Release" - "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/lib" + "${PROJECT_SOURCE_DIR}/dependencies/openssl/${IZ_PROJECT_ARCH}/lib" ) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + if (NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug") + set(IZ_EXECUTABLE_TYPE WIN32) + endif() +elseif(IZ_PLATFORM STREQUAL "MACOS") include_directories( /usr/local/include /usr/local/include/SDL2 @@ -94,6 +103,7 @@ endif() # add_executable( game + ${IZ_EXECUTABLE_TYPE} dependencies/minIni/dev/minIni.h dependencies/minIni/dev/minIni.c dependencies/getopt-for-windows/getopt.h @@ -163,31 +173,16 @@ add_executable( src/packages/stdinc/IZ_stdlib.h ) -if (WIN32) - target_link_libraries( - game - SDL2main - SDL2 - SDL2_image - SDL2_ttf - portmidi - libcrypto - libssl - websockets - ) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - target_link_libraries( - game - SDL2main - SDL2 - SDL2_image - SDL2_ttf - portmidi - crypto - ssl - websockets - ) -endif() +target_link_libraries( + game + SDL2main + SDL2 + SDL2_image + SDL2_ttf + portmidi + ${IZ_CRYPTO_LIBRARIES} + websockets +) add_executable( game-test-geometry @@ -331,25 +326,13 @@ add_executable( src/packages/timer/IZ_timer.h ) -if (WIN32) - target_link_libraries( - server - SDL2main - SDL2 - libcrypto - libssl - websockets - ) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - target_link_libraries( - server - SDL2main - SDL2 - crypto - ssl - websockets - ) -endif() +target_link_libraries( + server + SDL2main + SDL2 + ${IZ_CRYPTO_LIBRARIES} + websockets +) add_executable( asset-inv @@ -362,20 +345,20 @@ add_executable( # # Add DLLs and required assets to the build directory # -if (WIN32) +if (IZ_PLATFORM STREQUAL "WINDOWS") add_custom_command(TARGET game POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/dependencies/SDL2/lib/${PROJECT_ARCH}/SDL2.dll" + "${PROJECT_SOURCE_DIR}/dependencies/SDL2/lib/${IZ_PROJECT_ARCH}/SDL2.dll" $) add_custom_command(TARGET game POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/dependencies/SDL2_image/lib/${PROJECT_ARCH}/SDL2_image.dll" + "${PROJECT_SOURCE_DIR}/dependencies/SDL2_image/lib/${IZ_PROJECT_ARCH}/SDL2_image.dll" $) add_custom_command(TARGET game POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/dependencies/SDL2_ttf/lib/${PROJECT_ARCH}/SDL2_ttf.dll" + "${PROJECT_SOURCE_DIR}/dependencies/SDL2_ttf/lib/${IZ_PROJECT_ARCH}/SDL2_ttf.dll" $) add_custom_command(TARGET game POST_BUILD @@ -390,17 +373,17 @@ if (WIN32) add_custom_command(TARGET game POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/bin/libssl-1_1-x64.dll" + "${PROJECT_SOURCE_DIR}/dependencies/openssl/${IZ_PROJECT_ARCH}/bin/libssl-1_1-x64.dll" $) add_custom_command(TARGET game POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/bin/libcrypto-1_1-x64.dll" + "${PROJECT_SOURCE_DIR}/dependencies/openssl/${IZ_PROJECT_ARCH}/bin/libcrypto-1_1-x64.dll" $) add_custom_command(TARGET server POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/dependencies/SDL2/lib/${PROJECT_ARCH}/SDL2.dll" + "${PROJECT_SOURCE_DIR}/dependencies/SDL2/lib/${IZ_PROJECT_ARCH}/SDL2.dll" $) add_custom_command(TARGET server POST_BUILD @@ -410,12 +393,12 @@ if (WIN32) add_custom_command(TARGET server POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/bin/libssl-1_1-x64.dll" + "${PROJECT_SOURCE_DIR}/dependencies/openssl/${IZ_PROJECT_ARCH}/bin/libssl-1_1-x64.dll" $) add_custom_command(TARGET server POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/bin/libcrypto-1_1-x64.dll" + "${PROJECT_SOURCE_DIR}/dependencies/openssl/${IZ_PROJECT_ARCH}/bin/libcrypto-1_1-x64.dll" $) endif () diff --git a/src/packages/asset-inv/main.c b/src/packages/asset-inv/main.c index ab4d890..5ffc167 100644 --- a/src/packages/asset-inv/main.c +++ b/src/packages/asset-inv/main.c @@ -3,7 +3,7 @@ #include "../common/IZ_common.h" #include "../stdinc/IZ_string.h" -#ifdef IZ_WIN64 +#ifdef IZ_WINDOWS #include #endif diff --git a/src/packages/compat/IZ_windows.h b/src/packages/compat/IZ_windows.h index ed71748..4b98140 100644 --- a/src/packages/compat/IZ_windows.h +++ b/src/packages/compat/IZ_windows.h @@ -1,7 +1,7 @@ #ifndef IZ_WINDOWS_H #define IZ_WINDOWS_H -#ifndef IZ_WIN64 +#ifndef IZ_WINDOWS typedef int errno_t; #else #include diff --git a/src/packages/game/IZ_app_input.c b/src/packages/game/IZ_app_input.c index f193920..1e3d4c1 100644 --- a/src/packages/game/IZ_app_input.c +++ b/src/packages/game/IZ_app_input.c @@ -1,6 +1,6 @@ #include "IZ_app_input.h" -#ifdef IZ_WIN64 +#ifdef IZ_WINDOWS #define IZ_DEBUG_CONNECT SDLK_PAGEUP #define IZ_DEBUG_DISCONNECT SDLK_PAGEDOWN #define IZ_DEBUG_SEND_MESSAGE SDLK_INSERT diff --git a/src/packages/io/IZ_io.c b/src/packages/io/IZ_io.c index 9d4763b..ed8e13a 100644 --- a/src/packages/io/IZ_io.c +++ b/src/packages/io/IZ_io.c @@ -1,7 +1,7 @@ #include "IZ_io.h" int IZ_sprintf(char* buffer, size_t buffer_size, const char* format, ...) { -#if defined IZ_WIN64 +#if defined IZ_WINDOWS va_list args; va_start(args, format); int result = sprintf_s(buffer, buffer_size, format, args); @@ -17,7 +17,7 @@ int IZ_sprintf(char* buffer, size_t buffer_size, const char* format, ...) { } errno_t IZ_fopen(FILE** file, const char* filename, const char* mode) { -#if defined IZ_WIN64 +#if defined IZ_WINDOWS return fopen_s(file, filename, mode); #else *file = fopen(filename, mode); diff --git a/src/packages/log/IZ_log.c b/src/packages/log/IZ_log.c index 9ab544d..bccd8bb 100644 --- a/src/packages/log/IZ_log.c +++ b/src/packages/log/IZ_log.c @@ -33,7 +33,7 @@ bool IZ_LogIsSupportedTerminal() { } bool IZ_LogIsSupportedColor() { -#ifdef IZ_WIN64 +#ifdef IZ_WINDOWS return _isatty(_fileno(stdout)) && IZ_LogIsSupportedTerminal(); #else return isatty(fileno(stdout)) && IZ_LogIsSupportedTerminal(); diff --git a/src/packages/stdinc/IZ_string.c b/src/packages/stdinc/IZ_string.c index 4642e1c..a53ebe1 100644 --- a/src/packages/stdinc/IZ_string.c +++ b/src/packages/stdinc/IZ_string.c @@ -1,7 +1,7 @@ #include "IZ_string.h" errno_t IZ_memcpy(void* const dest, const rsize_t dest_size, const void* const source, const rsize_t source_size) { -#if defined IZ_WIN64 +#if defined IZ_WINDOWS return memcpy_s(dest, dest_size, source, source_size); #else memcpy(dest, source, dest_size); @@ -10,7 +10,7 @@ errno_t IZ_memcpy(void* const dest, const rsize_t dest_size, const void* const s } errno_t IZ_strcat(char* dest, rsize_t source_size, const char* source) { -#if defined IZ_WIN64 +#if defined IZ_WINDOWS return strcat_s(dest, source_size, source); #else strcat(dest, source); @@ -19,7 +19,7 @@ errno_t IZ_strcat(char* dest, rsize_t source_size, const char* source) { } errno_t IZ_strlwr(char* dest, const char* str, rsize_t str_size) { -#if defined IZ_WIN64 +#if defined IZ_WINDOWS errno_t copy_result = memcpy_s(dest, str_size, str, str_size); if (copy_result) { return copy_result; diff --git a/src/packages/timer/IZ_timer.c b/src/packages/timer/IZ_timer.c index b918e5a..a43ffdf 100644 --- a/src/packages/timer/IZ_timer.c +++ b/src/packages/timer/IZ_timer.c @@ -1,6 +1,6 @@ #include "IZ_timer.h" -#ifdef IZ_WIN64 +#ifdef IZ_WINDOWS typedef enum { _CLOCK_REALTIME = 0, #define CLOCK_REALTIME _CLOCK_REALTIME