From 3df97bce95f953b3c4b11dc4a040e7b47eead98a Mon Sep 17 00:00:00 2001 From: En Yi Date: Sat, 19 Aug 2023 20:47:24 +0800 Subject: [PATCH] Merge web build and pc build --- CMakeLists.txt | 39 +++++++----- CMakeLists_regular.txt | 131 ----------------------------------------- CMakeLists_web.txt | 30 ---------- 3 files changed, 25 insertions(+), 175 deletions(-) delete mode 100644 CMakeLists_regular.txt delete mode 100644 CMakeLists_web.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e3c055..d9b8bac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,14 @@ project(${PROJECT_NAME} C) set(CMAKE_C_STANDARD 99) set(RAYLIB_DIR /usr/local/lib CACHE FILEPATH "directory to Raylib") +if (EMSCRIPTEN) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DPLATFORM_WEB") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY") +set(CMAKE_EXECUTABLE_SUFFIX ".html") +endif () + if (${CMAKE_BUILD_TYPE} STREQUAL tile16) set_directory_properties(PROPERTIES COMPILE_DEFINITIONS TILE16_SIZE) endif() @@ -29,19 +37,6 @@ target_link_libraries(${PROJECT_NAME} ${GAME_LIBS} ) -add_executable(EntManager_test - entManager_test.c -) -target_compile_options(EntManager_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_options(EntManager_test PRIVATE -fsanitize=address -gdwarf-4) -target_include_directories(EntManager_test - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) -target_link_libraries(EntManager_test - ${GAME_LIBS} -) - add_executable(scene_test scene_test.c ) @@ -58,6 +53,22 @@ target_link_libraries(scene_test ${GAME_LIBS} ) + +if (NOT EMSCRIPTEN) +add_executable(EntManager_test + entManager_test.c +) +target_compile_options(EntManager_test PRIVATE -fsanitize=address -gdwarf-4) +target_link_options(EntManager_test PRIVATE -fsanitize=address -gdwarf-4) +target_include_directories(EntManager_test + PRIVATE + ${CMAKE_CURRENT_LIST_DIR} +) +target_link_libraries(EntManager_test + ${GAME_LIBS} +) + + add_executable(scene_test_mem scene_test.c ) @@ -128,4 +139,4 @@ if (BUILD_TESTING) find_package(cmocka 1.1.0 REQUIRED) add_subdirectory(tests) endif() - +endif() diff --git a/CMakeLists_regular.txt b/CMakeLists_regular.txt deleted file mode 100644 index 6e3c055..0000000 --- a/CMakeLists_regular.txt +++ /dev/null @@ -1,131 +0,0 @@ -set(PROJECT_NAME HATPC_remake) -set(CMAKE_C_COMPILER clang) -set(CMAKE_C_FLAGS "-Wall") -cmake_minimum_required(VERSION 3.22.1) -project(${PROJECT_NAME} C) -set(CMAKE_C_STANDARD 99) -set(RAYLIB_DIR /usr/local/lib CACHE FILEPATH "directory to Raylib") - -if (${CMAKE_BUILD_TYPE} STREQUAL tile16) - set_directory_properties(PROPERTIES COMPILE_DEFINITIONS TILE16_SIZE) -endif() - -set(GAME_LIBS - lib_scenes -) - - -add_subdirectory(scenes) -add_executable(${PROJECT_NAME} - main.c -) - -target_include_directories(${PROJECT_NAME} - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -target_link_libraries(${PROJECT_NAME} - ${GAME_LIBS} -) - -add_executable(EntManager_test - entManager_test.c -) -target_compile_options(EntManager_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_options(EntManager_test PRIVATE -fsanitize=address -gdwarf-4) -target_include_directories(EntManager_test - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) -target_link_libraries(EntManager_test - ${GAME_LIBS} -) - -add_executable(scene_test - scene_test.c -) - -target_include_directories(scene_test - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -target_compile_options(scene_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_options(scene_test PRIVATE -fsanitize=address -gdwarf-4) - -target_link_libraries(scene_test - ${GAME_LIBS} -) - -add_executable(scene_test_mem - scene_test.c -) -target_include_directories(scene_test_mem - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) -target_link_options(scene_test_mem PRIVATE -Xlinker -Map=scene_test.map) - -target_link_libraries(scene_test_mem - ${GAME_LIBS} -) - -add_executable(water_test - water_test.c -) - -target_include_directories(water_test - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) -target_link_libraries(water_test - ${GAME_LIBS} -) -target_compile_options(water_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_options(water_test PRIVATE -fsanitize=address -gdwarf-4) - -add_executable(level_load_test - level_load_test.c -) -target_include_directories(level_load_test - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) -target_link_libraries(level_load_test - ${GAME_LIBS} -) -target_compile_options(level_load_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_options(level_load_test PRIVATE -fsanitize=address -gdwarf-4) - -add_executable(menu_test - menu_test.c -) -target_include_directories(menu_test - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) -target_compile_options(menu_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_options(menu_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_libraries(menu_test - ${GAME_LIBS} -) - -add_executable(assets_test - assets_test.c -) -target_include_directories(assets_test - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) -target_compile_options(assets_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_options(assets_test PRIVATE -fsanitize=address -gdwarf-4) -target_link_libraries(assets_test - ${GAME_LIBS} -) - -if (BUILD_TESTING) - find_package(cmocka 1.1.0 REQUIRED) - add_subdirectory(tests) -endif() - diff --git a/CMakeLists_web.txt b/CMakeLists_web.txt deleted file mode 100644 index b7a3ac8..0000000 --- a/CMakeLists_web.txt +++ /dev/null @@ -1,30 +0,0 @@ -set(PROJECT_NAME HATPC_remake) -set(CMAKE_C_FLAGS "-Wall") -cmake_minimum_required(VERSION 3.22.1) -project(${PROJECT_NAME} C) -set(CMAKE_C_STANDARD 99) -set(RAYLIB_DIR /usr/local/lib CACHE FILEPATH "directory to Raylib") - -if (EMSCRIPTEN) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DPLATFORM_WEB") -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY") -set(CMAKE_EXECUTABLE_SUFFIX ".html") -endif () - -set(GAME_LIBS - lib_scenes -) - -add_subdirectory(scenes) -add_executable(scene_test - scene_test.c -) -target_include_directories(scene_test - PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) -target_link_libraries(scene_test - ${GAME_LIBS} -)