As title say, Im building a new SKSE plugin with CMAKE and C++ from the SKSE TEMPLATE the initial run is success and logging in console successfully and after modifying the source and wrapping things up, my dll generated sucessfully with no errors, but deployed it to skse's plugins folder and launch the SKSE_LOADER64.exe the process stuck and the skse.log file stuck at "loading xyz" instead of usual "xyz.dll loaded" and Im ended up having to kill the skse process.
anyone know what caused this behavior? or did I forgot to include some critical lib?
snippet of my cmake file
cmake_minimum_required(VERSION 3.21)
# standards & flags
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin")
include(GNUInstallDirs)
include(FetchContent)
# info
project(
xyz
VERSION 1.0.0
LANGUAGES CXX
)
# out-of-source builds only (include guards)
if (${PROJECT_SOURCE_DIR} STREQUAL ${PROJECT_BINARY_DIR})
message(FATAL_ERROR "In-source builds are not allowed.")
endif ()
# dependencies
find_package(CommonLibSSE CONFIG REQUIRED)
FetchContent_Declare(
yaml-cpp
GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git
GIT_TAG master
)
FetchContent_MakeAvailable(yaml-cpp)
# cmake target
# runtime
add_commonlibsse_plugin(
${PROJECT_NAME}
SOURCES
${SOURCES}
)
# linkage
target_link_libraries(
${PROJECT_NAME}
PRIVATE
CommonLibSSE::CommonLibSSE
yaml-cpp::yaml-cpp
)
# compiler def
if (MSVC)
add_compile_definitions(_UNICODE)
target_compile_options(
${PROJECT_NAME}
PRIVATE
/MP
/await
/W0
/permissive-
/Zc:alignedNew
/Zc:auto
/Zc:__cplusplus
/Zc:externC
/Zc:externConstexpr
/Zc:forScope
/Zc:hiddenFriend
/Zc:implicitNoexcept
/Zc:lambda
/Zc:noexceptTypes
/Zc:preprocessor
/Zc:referenceBinding
/Zc:rvalueCast
/Zc:sizedDealloc
/Zc:strictStrings
/Zc:ternary
/Zc:threadSafeInit
/Zc:trigraphs
/Zc:wchar_t
/wd4200 # nonstandard extension used : zero-sized array in struct/union
)
endif ()
# PCH
target_precompile_headers(
${PROJECT_NAME}
PRIVATE
src/PCH.h
)
skse64.log