wooo stuff yay

This commit is contained in:
kin fuyuki 2026-02-20 02:29:05 -03:00
commit d1bb9d8c67
No known key found for this signature in database
GPG key ID: 0E4E8E519FB71401
91 changed files with 17403 additions and 42 deletions

View file

@ -1,39 +1,27 @@
cmake_minimum_required(VERSION 3.20)
set(CMAKE_CXX_FLAGS "-std=c++17 -Wno-error")
set(CMAKE_CXX_FLAGS "-std=c++26 -Wno-error -w")
if (DEFINED PLATFORMNAME)
SET(CURRPLATFORM ${PLATFORMNAME})
else ()
SET(CURRPLATFORM "linux-64")
endif (DEFINED PLATFORMNAME)
file(GLOB_RECURSE ENGINE_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/force_rebuild"
COMMAND rm -f "${CMAKE_SOURCE_DIR}/link/libenginend.so"
COMMAND rm -rf "${CMAKE_SOURCE_DIR}/include/enginend"
)
add_library(enginend SHARED ${ENGINE_SOURCES} "${CMAKE_BINARY_DIR}/force_rebuild"
../include/json.h)
add_library(enginend SHARED ${ENGINE_SOURCES} )
target_link_directories(
enginend PUBLIC
"${CMAKE_SOURCE_DIR}/link")
"${CMAKE_SOURCE_DIR}/link/${CURRPLATFORM}")
set(ENGINE_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(ENGINE_EXPORT_DIR "${CMAKE_SOURCE_DIR}/include/enginend")
set_target_properties(enginend PROPERTIES
CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link"
CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link/${CURRPLATFORM}"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link/${CURRPLATFORM}"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link/${CURRPLATFORM}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link/${CURRPLATFORM}"
)
file(GLOB_RECURSE HEADER_FILES CONFIGURE_DEPENDS "${ENGINE_SRC_DIR}/*.h" "${ENGINE_SRC_DIR}/*.hpp")
foreach(HEADER ${HEADER_FILES})
file(RELATIVE_PATH REL_PATH "${ENGINE_SRC_DIR}" "${HEADER}")
set(DEST "${ENGINE_EXPORT_DIR}/${REL_PATH}")
get_filename_component(DEST_DIR "${DEST}" DIRECTORY)
add_custom_command(
TARGET enginend PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "${DEST_DIR}"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${HEADER}" "${DEST}"
)
endforeach()
add_executable(test test.cpp)
@ -43,9 +31,10 @@ set_target_properties(test PROPERTIES
)
target_link_directories(
test PUBLIC
"${CMAKE_SOURCE_DIR}/link")
"${CMAKE_SOURCE_DIR}/link/${CURRPLATFORM}")
target_link_libraries(test PRIVATE
"${CMAKE_SOURCE_DIR}/link/libenginend.so"
#"${CMAKE_SOURCE_DIR}/link/${CURRPLATFORM}/libenginend.so"
enginend
)
target_include_directories(test PUBLIC
${CMAKE_SOURCE_DIR}/include