@@ -8,6 +8,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
88message (STATUS "Generating files..." )
99message (STATUS "vcpkg toolchain location: ${CMAKE_TOOLCHAIN_FILE } " )
1010# Enable Hot Reload for MSVC compilers if supported.
11+ # Force static runtime
1112if (POLICY CMP0141)
1213 cmake_policy (SET CMP0141 NEW )
1314 if (CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
@@ -17,16 +18,18 @@ if (POLICY CMP0141)
1718endif ()
1819# Enable exceptions in MSVC
1920if (MSVC )
20- add_compile_options (/EHsc /Zc:__cplusplus )
21+ add_compile_options (/EHsc )
22+ add_compile_options (/MT /NODEFAULTLIB:libcmt )
2123endif ()
2224
2325# Define the project
24- set (TRIPLET "x64-windows" )
26+ set (TRIPLET "x64-windows-static-md" )
27+ set (VCPKG_TARGET_TRIPLET "x64-windows-static-md" )
2528project ("cinnamontoast" )
2629set (CMAKE_GENERATOR_PLATFORM "x64" )
2730
2831enable_testing ()
29-
32+ set (OPENSSL_USE_STATIC_LIBS TRUE )
3033file (GLOB_RECURSE REFLECT_CORE "src/core/*.cpp" "src/core/*.h" )
3134file (GLOB_RECURSE REFLECT_NET "src/net/*.cpp" "src/net/*.h" )
3235file (GLOB_RECURSE REFLECT_CRASHHANDLER "src/crash/*.cpp" "src/crash/*.h" )
@@ -57,7 +60,7 @@ endif()
5760
5861get_filename_component (VCPKG_DIR "${CMAKE_TOOLCHAIN_FILE } " DIRECTORY )
5962set (VCPKG_DIR "${VCPKG_DIR} /../../" )
60- set (PKG_CONFIG_EXECUTABLE "${VCPKG_DIR} /installed/${TRIPLET} /tools/pkgconf/pkgconf.exe" )
63+ set (PKG_CONFIG_EXECUTABLE "${VCPKG_DIR} /installed/x64-windows /tools/pkgconf/pkgconf.exe" )
6164set (LIB_FILE_DIR "${CMAKE_BINARY_DIR } /vcpkg_installed/${TRIPLET} /lib" )
6265set (JAVA_VERSION "21" )
6366set (JNI_INCLUDE_DIR "$ENV{JAVA_HOME} /include/win32" "$ENV{JAVA_HOME} /include" )
8891 add_library (Reflect STATIC ${REFLECT_CSTYLE}
8992 ${REFLECT_CRASHHANDLER}
9093 ${REFLECT_LUA}
94+ ${REFLECT_JAVA}
9195 ${REFLECT_NET} ${REFLECT_CORE} ${REFLECT_COMMONS_CORE}
9296 )
9397 target_compile_definitions (Reflect PRIVATE REFLECT_STATIC_LIBRARY=1 )
@@ -159,13 +163,15 @@ set_target_properties(reflectw PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
159163add_executable (reflectt ${REFLECT_TEST} )
160164find_package (tinyxml2 CONFIG REQUIRED )
161165find_package (GTest REQUIRED )
162- find_package (OpenSSL REQUIRED )
166+ # find_package(OpenSSL CONFIG REQUIRED)
163167find_package (GLEW REQUIRED )
164168find_package (PkgConfig REQUIRED )
165169pkg_check_modules (LUAJIT REQUIRED luajit )
166170
167171set (LUAJIT_LIBRARIES "${LIB_FILE_DIR} /${LUAJIT_LIBRARIES} .lib" )
172+ set (OPENSSL_LIBRARIES "${LIB_FILE_DIR} /libcrypto.lib" "${LIB_FILE_DIR} /libssl.lib" crypt32)
168173message (STATUS "LuaJIT binaries: ${LUAJIT_LIBRARIES} " )
174+ message (STATUS "OpenSSL binaries: ${OPENSSL_LIBRARIES} " )
169175file (GLOB DLL_FILE_DIR "${CMAKE_BINARY_DIR } /vcpkg_installed/${TRIPLET} /bin/*" )
170176
171177#foreach(file ${DLL_FILE_DIR})
@@ -183,7 +189,8 @@ if(DEFINED REFLECT_BUNDLE)
183189
184190 target_link_libraries (Reflect PRIVATE tinyxml2::tinyxml2 GLEW::GLEW )
185191 target_link_libraries (Reflect PRIVATE ${LUAJIT_LIBRARIES} )
186- target_link_libraries (Reflect PRIVATE OpenSSL::SSL ws2_32 )
192+ target_link_libraries (Reflect PRIVATE ${OPENSSL_LIBRARIES} ws2_32 )
193+
187194else ()
188195
189196 target_link_libraries (Reflect.CStyleAPI PRIVATE Reflect.Core )
0 commit comments