cmake_minimum_required(VERSION 3.21) message("Using toolchain file ${CMAKE_TOOLCHAIN_FILE}.") ######################################################################################################################## ## Define project ######################################################################################################################## project( EnderalSEEasyCrafting VERSION 1.1.0 DESCRIPTION "Enderal SE Easy Crafting" LANGUAGES CXX) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) include(GNUInstallDirs) find_path(SIMPLEINI_INCLUDE_DIRS "ConvertUTF.c") configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/version.rc.in ${CMAKE_CURRENT_BINARY_DIR}/version.rc @ONLY) set(sources src/Main.cpp src/EventListener.cpp ${CMAKE_CURRENT_BINARY_DIR}/version.rc) source_group( TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${headers} ${sources}) ######################################################################################################################## ## Configure target DLL ######################################################################################################################## # find_package(CommonLibSSE CONFIG REQUIRED) include(FetchContent) FetchContent_Declare( CommonLibNG GIT_REPOSITORY https://github.com/alandtse/CommonLibVR GIT_TAG a62791cbcb68bd796b303ae7d1a25829d49c6b12 ) set(ENABLE_SKYRIM_SE ON CACHE BOOL " " FORCE) set(ENABLE_SKYRIM_AE ON CACHE BOOL " " FORCE) set(ENABLE_SKYRIM_VR ON CACHE BOOL " " FORCE) set(BUILD_TESTS OFF CACHE BOOL " " FORCE) #FetchContent_MakeAvailable(CommonLibNG) add_subdirectory("d:/Git/CommonLibSSE-NG" ${CMAKE_BINARY_DIR}/_deps/clib-build) get_target_property(commonlib_src_dir CommonLibSSE SOURCE_DIR) include(${commonlib_src_dir}/cmake/CommonLibSSE.cmake) add_commonlibsse_plugin(${PROJECT_NAME} SOURCES ${headers} ${sources}) add_library("${PROJECT_NAME}::${PROJECT_NAME}" ALIAS "${PROJECT_NAME}") target_include_directories(${PROJECT_NAME} PRIVATE $ $ $ ${SIMPLEINI_INCLUDE_DIRS} ) target_include_directories(${PROJECT_NAME} PUBLIC $) target_precompile_headers(${PROJECT_NAME} PRIVATE src/PCH.h) install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_LIBDIR}") ######################################################################################################################## ## Automatic plugin deployment ######################################################################################################################## add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_SOURCE_DIR}/../SKSE/Plugins/") add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ "${CMAKE_CURRENT_SOURCE_DIR}/../SKSE/Plugins/")