Skip to content

Commit 2d71e10

Browse files
committed
Cleaner cmake setup: define languages and check MSVC more robustly
1 parent 031e14f commit 2d71e10

18 files changed

Lines changed: 83 additions & 47 deletions

File tree

ExampleAnalysis/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ option(MV_UNITY_BUILD "Combine target source files into batches for faster compi
55
# -----------------------------------------------------------------------------
66
# ExampleAnalysis Plugin
77
# -----------------------------------------------------------------------------
8-
PROJECT("ExampleAnalysisPlugin")
8+
PROJECT("ExampleAnalysisPlugin" LANGUAGES CXX)
99

1010
# -----------------------------------------------------------------------------
1111
# CMake Options
@@ -14,12 +14,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
1414
set(CMAKE_INCLUDE_CURRENT_DIR ON)
1515
set(CMAKE_AUTOMOC ON)
1616

17-
if(MSVC)
17+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
1818
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus")
1919
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
2020
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
2121
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
22-
endif(MSVC)
22+
endif()
2323

2424
# -----------------------------------------------------------------------------
2525
# Dependencies
@@ -108,7 +108,7 @@ mv_handle_plugin_config(${PROJECT_NAME} 0)
108108
# Miscellaneous
109109
# -----------------------------------------------------------------------------
110110
# Automatically set the debug environment (command + working directory) for MSVC
111-
if(MSVC)
111+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
112112
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<IF:$<CONFIG:DEBUG>,${ManiVault_INSTALL_DIR}/Debug,$<IF:$<CONFIG:RELWITHDEBINFO>,${ManiVault_INSTALL_DIR}/RelWithDebInfo,${ManiVault_INSTALL_DIR}/Release>>)
113113
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_COMMAND $<IF:$<CONFIG:DEBUG>,"${ManiVault_INSTALL_DIR}/Debug/ManiVault Studio.exe",$<IF:$<CONFIG:RELWITHDEBINFO>,"${ManiVault_INSTALL_DIR}/RelWithDebInfo/ManiVault Studio.exe","${ManiVault_INSTALL_DIR}/Release/ManiVault Studio.exe">>)
114114
endif()

ExampleAnalysis/PluginInfo.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
{
22
"name" : "Example Analysis",
3-
"version" : "1.4",
3+
"version" : {
4+
"plugin" : "1.4",
5+
"core" : ["1.3"]
6+
},
7+
"type" : "Analysis",
48
"dependencies" : ["Points"]
59
}

ExampleData/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ option(MV_UNITY_BUILD "Combine target source files into batches for faster compi
55
# -----------------------------------------------------------------------------
66
# ExampleData Plugin
77
# -----------------------------------------------------------------------------
8-
PROJECT("ExampleDataPlugin")
8+
PROJECT("ExampleDataPlugin" LANGUAGES CXX)
99

1010
# -----------------------------------------------------------------------------
1111
# CMake Options and Setup
@@ -14,12 +14,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
1414
set(CMAKE_INCLUDE_CURRENT_DIR ON)
1515
set(CMAKE_AUTOMOC ON)
1616

17-
if(MSVC)
17+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
1818
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus")
1919
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
2020
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
2121
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
22-
endif(MSVC)
22+
endif()
2323

2424
# Include cmake tools
2525
include(GenerateExportHeader)
@@ -129,7 +129,7 @@ mv_handle_plugin_config(${PROJECT_NAME} 0)
129129
# Miscellaneous
130130
# -----------------------------------------------------------------------------
131131
# Automatically set the debug environment (command + working directory) for MSVC
132-
if(MSVC)
132+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
133133
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<IF:$<CONFIG:DEBUG>,${ManiVault_INSTALL_DIR}/Debug,$<IF:$<CONFIG:RELWITHDEBINFO>,${ManiVault_INSTALL_DIR}/RelWithDebInfo,${ManiVault_INSTALL_DIR}/Release>>)
134134
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_COMMAND $<IF:$<CONFIG:DEBUG>,"${ManiVault_INSTALL_DIR}/Debug/ManiVault Studio.exe",$<IF:$<CONFIG:RELWITHDEBINFO>,"${ManiVault_INSTALL_DIR}/RelWithDebInfo/ManiVault Studio.exe","${ManiVault_INSTALL_DIR}/Release/ManiVault Studio.exe">>)
135135
endif()

ExampleData/PluginInfo.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
{
22
"name" : "Example Data",
3-
"version" : "1.4",
3+
"version" : {
4+
"plugin" : "1.4",
5+
"core" : ["1.3"]
6+
},
7+
"type" : "Data",
48
"dependencies" : []
59
}

ExampleDependencies/CMakeLists.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ option(MV_UNITY_BUILD "Combine target source files into batches for faster compi
55
# -----------------------------------------------------------------------------
66
# ExampleAnalysis Plugin
77
# -----------------------------------------------------------------------------
8-
PROJECT("ExampleDependenciesPlugin")
8+
PROJECT("ExampleDependenciesPlugin" LANGUAGES CXX C)
99

1010
# -----------------------------------------------------------------------------
1111
# CMake Options
@@ -14,12 +14,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
1414
set(CMAKE_INCLUDE_CURRENT_DIR ON)
1515
set(CMAKE_AUTOMOC ON)
1616

17-
if(MSVC)
17+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
1818
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus")
1919
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
2020
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
2121
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
22-
endif(MSVC)
22+
endif()
2323

2424
include(cmake/get_cpm.cmake)
2525

@@ -40,7 +40,7 @@ CPMAddPackage(
4040
OPTIONS "HWY_ENABLE_EXAMPLES OFF" "HWY_ENABLE_INSTALL OFF" "HWY_ENABLE_TESTS OFF" "HWY_ENABLE_CONTRIB ON" "BUILD_SHARED_LIBS ON"
4141
)
4242

43-
if (MSVC)
43+
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
4444
set_target_properties(hwy_test PROPERTIES EXCLUDE_FROM_ALL True)
4545
set_target_properties(hwy_list_targets PROPERTIES EXCLUDE_FROM_ALL True)
4646
endif()
@@ -68,7 +68,7 @@ set(PLUGIN_SOURCES
6868
src/ExampleDependenciesPlugin.cpp
6969
src/SettingsAction.h
7070
src/SettingsAction.cpp
71-
src/ExampleDependenciesPlugin.json
71+
PluginInfo.json
7272
)
7373

7474
source_group(Plugin FILES ${PLUGIN_SOURCES})
@@ -160,7 +160,7 @@ mv_handle_plugin_config(${PROJECT_NAME} 0)
160160
# Miscellaneous
161161
# -----------------------------------------------------------------------------
162162
# Automatically set the debug environment (command + working directory) for MSVC
163-
if(MSVC)
163+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
164164
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<IF:$<CONFIG:DEBUG>,${ManiVault_INSTALL_DIR}/Debug,$<IF:$<CONFIG:RELWITHDEBINFO>,${ManiVault_INSTALL_DIR}/RelWithDebInfo,${ManiVault_INSTALL_DIR}/Release>>)
165165
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_COMMAND $<IF:$<CONFIG:DEBUG>,"${ManiVault_INSTALL_DIR}/Debug/ManiVault Studio.exe",$<IF:$<CONFIG:RELWITHDEBINFO>,"${ManiVault_INSTALL_DIR}/RelWithDebInfo/ManiVault Studio.exe","${ManiVault_INSTALL_DIR}/Release/ManiVault Studio.exe">>)
166166
endif()
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
{
22
"name" : "Example Dependencies",
3-
"version" : "1.4",
3+
"version" : {
4+
"plugin" : "1.4",
5+
"core" : ["1.3"]
6+
},
7+
"type" : "Analysis",
48
"dependencies" : ["Points"]
59
}

ExampleLoader/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ option(MV_UNITY_BUILD "Combine target source files into batches for faster compi
55
# -----------------------------------------------------------------------------
66
# ExampleLoader Plugin
77
# -----------------------------------------------------------------------------
8-
PROJECT("ExampleLoaderPlugin")
8+
PROJECT("ExampleLoaderPlugin" LANGUAGES CXX)
99

1010
# -----------------------------------------------------------------------------
1111
# CMake Options
@@ -14,12 +14,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
1414
set(CMAKE_INCLUDE_CURRENT_DIR ON)
1515
set(CMAKE_AUTOMOC ON)
1616

17-
if(MSVC)
17+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
1818
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus")
1919
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
2020
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
2121
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
22-
endif(MSVC)
22+
endif()
2323

2424
# -----------------------------------------------------------------------------
2525
# Dependencies
@@ -105,7 +105,7 @@ mv_handle_plugin_config(${PROJECT_NAME} 0)
105105
# Miscellaneous
106106
# -----------------------------------------------------------------------------
107107
# Automatically set the debug environment (command + working directory) for MSVC
108-
if(MSVC)
108+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
109109
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<IF:$<CONFIG:DEBUG>,${ManiVault_INSTALL_DIR}/Debug,$<IF:$<CONFIG:RELWITHDEBINFO>,${ManiVault_INSTALL_DIR}/RelWithDebInfo,${ManiVault_INSTALL_DIR}/Release>>)
110110
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_COMMAND $<IF:$<CONFIG:DEBUG>,"${ManiVault_INSTALL_DIR}/Debug/ManiVault Studio.exe",$<IF:$<CONFIG:RELWITHDEBINFO>,"${ManiVault_INSTALL_DIR}/RelWithDebInfo/ManiVault Studio.exe","${ManiVault_INSTALL_DIR}/Release/ManiVault Studio.exe">>)
111111
endif()

ExampleLoader/PluginInfo.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
{
22
"name" : "Example Loader",
33
"menuName" : "Example (.xmp)",
4-
"version" : "1.4",
4+
"version" : {
5+
"plugin" : "1.4",
6+
"core" : ["1.3"]
7+
},
8+
"type" : "Loader",
59
"dependencies" : ["Points"]
610
}

ExampleTransformation/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ option(MV_UNITY_BUILD "Combine target source files into batches for faster compi
55
# -----------------------------------------------------------------------------
66
# ExampleTransformation Plugin
77
# -----------------------------------------------------------------------------
8-
PROJECT("ExampleTransformationPlugin")
8+
PROJECT("ExampleTransformationPlugin" LANGUAGES CXX)
99

1010
# -----------------------------------------------------------------------------
1111
# CMake Options
@@ -14,12 +14,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
1414
set(CMAKE_INCLUDE_CURRENT_DIR ON)
1515
set(CMAKE_AUTOMOC ON)
1616

17-
if(MSVC)
17+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
1818
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus")
1919
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
2020
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
2121
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
22-
endif(MSVC)
22+
endif()
2323

2424
# -----------------------------------------------------------------------------
2525
# Dependencies
@@ -105,7 +105,7 @@ mv_handle_plugin_config(${PROJECT_NAME} 0)
105105
# Miscellaneous
106106
# -----------------------------------------------------------------------------
107107
# Automatically set the debug environment (command + working directory) for MSVC
108-
if(MSVC)
108+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
109109
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<IF:$<CONFIG:DEBUG>,${ManiVault_INSTALL_DIR}/Debug,$<IF:$<CONFIG:RELWITHDEBINFO>,${ManiVault_INSTALL_DIR}/RelWithDebInfo,${ManiVault_INSTALL_DIR}/Release>>)
110110
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_COMMAND $<IF:$<CONFIG:DEBUG>,"${ManiVault_INSTALL_DIR}/Debug/ManiVault Studio.exe",$<IF:$<CONFIG:RELWITHDEBINFO>,"${ManiVault_INSTALL_DIR}/RelWithDebInfo/ManiVault Studio.exe","${ManiVault_INSTALL_DIR}/Release/ManiVault Studio.exe">>)
111111
endif()
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
{
22
"name" : "Example Transformation",
3-
"version" : "1.4",
3+
"version" : {
4+
"plugin" : "1.4",
5+
"core" : ["1.3"]
6+
},
7+
"type" : "Transformation",
48
"dependencies" : ["Points"]
59
}

0 commit comments

Comments
 (0)