Skip to content

Commit bbf93b0

Browse files
authored
Merge pull request #8 from CCPCookies/runtimeToMT
Set runtime to MT rather than MD
2 parents b222a4c + a8300a8 commit bbf93b0

8 files changed

Lines changed: 16 additions & 73 deletions

File tree

CMakeLists.txt

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ set(SRC_FILES
5252
src/ParameterVersion.cpp
5353
)
5454

55-
ccp_add_library(resources SHARED ${SRC_FILES})
55+
add_library(resources STATIC ${SRC_FILES})
5656

5757
target_compile_definitions(resources PRIVATE EXPORT_LIBRARY)
5858

@@ -64,7 +64,9 @@ if (WIN32)
6464
target_compile_definitions(resources PRIVATE NOMINMAX) # Do not define min/max macros.
6565
endif ()
6666

67-
target_link_libraries(resources PRIVATE resources-tools yaml-cpp::yaml-cpp)
67+
target_compile_definitions(resources PUBLIC CARBON_RESOURCES_STATIC)
68+
69+
target_link_libraries(resources PRIVATE $<BUILD_LOCAL_INTERFACE:resources-tools> yaml-cpp::yaml-cpp)
6870

6971
target_include_directories(resources
7072
PUBLIC
@@ -81,26 +83,6 @@ source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}"
8183

8284
set_target_properties(resources PROPERTIES OUTPUT_NAME "_resources")
8385

84-
# Static lib, exported and used for cli
85-
ccp_add_library(resources-static STATIC ${SRC_FILES})
86-
87-
set_target_properties(resources-static PROPERTIES OUTPUT_NAME "_resources-static")
88-
89-
target_compile_definitions(resources-static PUBLIC CARBON_RESOURCES_STATIC)
90-
91-
if (WIN32)
92-
target_compile_definitions(resources-static PRIVATE NOMINMAX) # Do not define min/max macros.
93-
endif ()
94-
95-
target_link_libraries(resources-static PRIVATE $<BUILD_LOCAL_INTERFACE:resources-tools> yaml-cpp::yaml-cpp)
96-
97-
target_include_directories(resources-static
98-
PUBLIC
99-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
100-
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
101-
$<INSTALL_INTERFACE:include>
102-
)
103-
10486
add_subdirectory(cli)
10587

10688
# Enable testing based on option set (on by default)
@@ -152,7 +134,7 @@ if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
152134
if (INSTALL_BIN_ONLY)
153135
# Install rule to ensure that our runtime files are in the expected, platform-specific folder
154136
install(
155-
TARGETS resources resources-static
137+
TARGETS resources
156138
EXPORT resourcesTarget
157139
CONFIGURATIONS ${CMAKE_CONFIGURATION_TYPES}
158140
LIBRARY DESTINATION lib/${CCP_PLATFORM}/${CCP_ARCHITECTURE}/${CCP_TOOLSET}/
@@ -162,7 +144,7 @@ if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
162144
else ()
163145
# Install rule to ensure that our runtime and linker files are in the expected, platform-specific folders
164146
install(
165-
TARGETS resources resources-static
147+
TARGETS resources
166148
EXPORT resourcesTarget
167149
CONFIGURATIONS ${CMAKE_CONFIGURATION_TYPES}
168150
LIBRARY DESTINATION lib/${CCP_PLATFORM}/${CCP_ARCHITECTURE}/${CCP_TOOLSET}/

cli/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Copyright © 2025 CCP ehf.
22

3-
project(resources-cli VERSION 1.0.0)
4-
53
find_package(argparse CONFIG REQUIRED)
64
find_package(yaml-cpp CONFIG REQUIRED)
75

@@ -32,7 +30,7 @@ set(SRC_FILES
3230

3331
ccp_add_executable(resources-cli ${SRC_FILES})
3432

35-
target_link_libraries(resources-cli PRIVATE resources-static argparse::argparse yaml-cpp::yaml-cpp)
33+
target_link_libraries(resources-cli PRIVATE resources argparse::argparse yaml-cpp::yaml-cpp)
3634

3735
get_target_property(_SOURCES resources-cli SOURCES)
3836
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}"

cmake/CcpBuildConfigurations.cmake

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ if (MSVC)
8686
add_compile_options(/permissive-)
8787
# Ignore missing PDB file for libraries
8888
add_link_options(/IGNORE:4099)
89-
# https://docs.microsoft.com/en-us/cpp/error-messages/tool-errors/linker-tools-warning-lnk4098?view=msvc-150
90-
add_link_options(/NODEFAULTLIB:libcmt.lib)
9189

9290
# https://docs.microsoft.com/en-us/cpp/text/support-for-multibyte-character-sets-mbcss?view=msvc-150
9391
# We don't want this, but we currently can't use /D UNICODE since this breaks all our legacy nonsense (which we should fix)

cmake/CcpGlobalSettings.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ if(WIN32)
1919
set(CMAKE_SYSTEM_VERSION ${WIN_SDK_VERSION} CACHE STRING INTERNAL FORCE)
2020
set(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION ${WIN_SDK_VERSION} CACHE STRING INTERNAL FORCE)
2121
# Avoid using MultiThreadedDebugDLL, which we don't support
22-
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL" CACHE STRING INTERNAL FORCE)
22+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded" CACHE STRING INTERNAL FORCE)
2323
endif()
2424

2525
# Require out-of-source builds
Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,13 @@
11
set(VCPKG_TARGET_ARCHITECTURE arm64)
2-
set(VCPKG_CRT_LINKAGE dynamic)
3-
set(VCPKG_LIBRARY_LINKAGE dynamic)
2+
set(VCPKG_CRT_LINKAGE static)
3+
set(VCPKG_LIBRARY_LINKAGE static)
44
set(VCPKG_ENV_PASSTHROUGH CCP_EVE_PERFORCE_BRANCH_PATH)
55
set(VCPKG_BUILD_TYPE release)
66

77
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
88
set(VCPKG_OSX_ARCHITECTURES "arm64;x86_64")
99
set(VCPKG_OSX_DEPLOYMENT_TARGET 10.15)
1010

11-
if (PORT MATCHES "bsdiff-drake127")
12-
set(VCPKG_LIBRARY_LINKAGE static)
13-
endif()
14-
15-
if (PORT MATCHES "yaml-cpp")
16-
set(VCPKG_LIBRARY_LINKAGE static)
17-
endif()
18-
19-
if (PORT MATCHES "curl")
20-
set(VCPKG_LIBRARY_LINKAGE static)
21-
endif()
22-
23-
if (PORT MATCHES "zlib")
24-
set(VCPKG_LIBRARY_LINKAGE static)
11+
if (PORT MATCHES "python3")
12+
set(VCPKG_LIBRARY_LINKAGE dynamic)
2513
endif()
Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
set(VCPKG_TARGET_ARCHITECTURE x64)
2-
set(VCPKG_CRT_LINKAGE dynamic)
3-
set(VCPKG_LIBRARY_LINKAGE dynamic)
2+
set(VCPKG_CRT_LINKAGE static)
3+
set(VCPKG_LIBRARY_LINKAGE static)
44
set(VCPKG_ENV_PASSTHROUGH CCP_EVE_PERFORCE_BRANCH_PATH)
55
set(VCPKG_BUILD_TYPE release)
66

@@ -11,18 +11,6 @@ set(VCPKG_CMAKE_SYSTEM_VERSION "10.0.17763.0")
1111
set(VCPKG_C_FLAGS "-DWINVER=0x0A00 -D_WIN32_WINNT=0x0A00")
1212
set(VCPKG_CXX_FLAGS ${VCPKG_C_FLAGS})
1313

14-
if (PORT MATCHES "bsdiff-drake127")
15-
set(VCPKG_LIBRARY_LINKAGE static)
16-
endif()
17-
18-
if (PORT MATCHES "yaml-cpp")
19-
set(VCPKG_LIBRARY_LINKAGE static)
20-
endif()
21-
22-
if (PORT MATCHES "curl")
23-
set(VCPKG_LIBRARY_LINKAGE static)
24-
endif()
25-
26-
if (PORT MATCHES "zlib")
27-
set(VCPKG_LIBRARY_LINKAGE static)
14+
if (PORT MATCHES "python3")
15+
set(VCPKG_LIBRARY_LINKAGE dynamic)
2816
endif()

tests/CMakeLists.txt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Copyright © 2025 CCP ehf.
22

3-
project(resources-test)
4-
53
find_package(CURL CONFIG REQUIRED)
64
find_package(GTest CONFIG REQUIRED)
75
find_package(tiny-process-library CONFIG REQUIRED)
@@ -44,13 +42,6 @@ if (WIN32)
4442
COMMAND_EXPAND_LISTS
4543
)
4644
47-
# Binaries
48-
add_custom_command(
49-
TARGET resources-test POST_BUILD
50-
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_RUNTIME_DLLS:resources-test> $<TARGET_FILE_DIR:resources-test>
51-
COMMAND_EXPAND_LISTS
52-
)
53-
5445
elseif (APPLE)
5546
# Get CLI exe
5647
add_custom_command(

tools/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Copyright © 2025 CCP ehf.
22

3-
project(resources-tools VERSION 1.0.0)
4-
53
find_package(cryptopp CONFIG REQUIRED)
64
find_package(CURL CONFIG REQUIRED)
75
find_package(ZLIB REQUIRED)

0 commit comments

Comments
 (0)