Skip to content

Commit c4a2a29

Browse files
authored
Adjust cmake to handle changes to Max SDK from 8.2 onwards (flucoma#32)
* Adjust cmake to handle changes to Max SDK from 8.2 onwards * correct typo
1 parent f9745c1 commit c4a2a29

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

source/script/max-posttarget.cmake

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33

44
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
55

6+
target_sources(${PROJECT_NAME} PRIVATE
7+
"${C74_MAX_API_DIR}/max-includes/common/commonsyms.c"
8+
)
9+
610
set_target_properties(${PROJECT_NAME} PROPERTIES
711
CXX_STANDARD 14
812
CXX_STANDARD_REQUIRED ON
@@ -26,7 +30,7 @@ if(MSVC)
2630
target_compile_options(${PROJECT_NAME} PRIVATE /W3 )
2731
else()
2832
target_compile_options(${PROJECT_NAME} PRIVATE
29-
-Wall -Wno-gnu-zero-variadic-macro-arguments -Wextra -Wpedantic -Wreturn-type
33+
-Wall -Wno-gnu-zero-variadic-macro-arguments -Wextra -Wpedantic -Wreturn-type -include "${C74_MAX_INCLUDES}/macho-prefix.pch"
3034
)
3135
endif()
3236

@@ -82,9 +86,7 @@ if (APPLE)
8286
#If we target 10.7 (actually < 10.9), we have to manually include this:
8387
target_compile_options(${PROJECT_NAME} PRIVATE -stdlib=libc++)
8488
elseif (WIN32)
85-
86-
target_sources(${PROJECT_NAME} PRIVATE "${C74_MAX_API_DIR}/max-includes/common/commonsyms.c")
87-
89+
8890
target_link_libraries(${PROJECT_NAME} PRIVATE ${MaxAPI_LIB})
8991
target_link_libraries(${PROJECT_NAME} PRIVATE ${MaxAudio_LIB})
9092
target_link_libraries(${PROJECT_NAME} PRIVATE ${Jitter_LIB})

source/script/max-pretarget.cmake

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,17 @@ endif()
1717

1818
if (NOT DEFINED C74_MAX_API_DIR)
1919
file(TO_CMAKE_PATH "${MAX_SDK_PATH}" MAX_SDK_FULLPATH)
20-
set(C74_MAX_API_DIR "${MAX_SDK_FULLPATH}/source/c74support")
20+
if(EXISTS "${MAX_SDK_FULLPATH}/source/c74support")
21+
set(C74_MAX_API_DIR "${MAX_SDK_FULLPATH}/source/c74support")
22+
# newer SDK layout, full Max-SDK download
23+
elseif(EXISTS "${MAX_SDK_FULLPATH}/source/max-sdk-base/c74support")
24+
set(C74_MAX_API_DIR "${MAX_SDK_FULLPATH}/source/max-sdk-base/c74support")
25+
# newer SDK layout, just max-sdk-base
26+
elseif(EXISTS "${MAX_SDK_FULLPATH}/c74support")
27+
set(C74_MAX_API_DIR "${MAX_SDK_FULLPATH}/c74support")
28+
else()
29+
message(FATAL_ERROR "Could not find Cycling 74 support folder")
30+
endif()
2131
endif ()
2232
#set(C74_INCLUDES "${C74_MAX_API_DIR}/include")
2333
set(C74_MAX_INCLUDES ${C74_MAX_API_DIR}/max-includes)
@@ -28,9 +38,6 @@ set(C74_SCRIPTS "../../script")
2838

2939
set(C74_CXX_STANDARD 0)
3040

31-
if (APPLE)
32-
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include \"${C74_MAX_INCLUDES}/macho-prefix.pch\"")
33-
endif ()
3441

3542
# if (NOT DEFINED C74_BUILD_MAX_EXTENSION)
3643
# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../externals")

0 commit comments

Comments
 (0)