diff options
author | Richard Knight <q@1bpm.net> | 2021-07-21 22:34:27 +0100 |
---|---|---|
committer | Richard Knight <q@1bpm.net> | 2021-07-21 22:34:27 +0100 |
commit | 064e95a38e52c6e0199ffb3d42968c6ad6dbb0c9 (patch) | |
tree | faaece07231df16cfeea5c987aca077b42116ba2 | |
parent | 8cc55b2d13793fb09f15b9505179b48ae5fd1135 (diff) | |
download | csound-nstrexists-064e95a38e52c6e0199ffb3d42968c6ad6dbb0c9.tar.gz csound-nstrexists-064e95a38e52c6e0199ffb3d42968c6ad6dbb0c9.tar.bz2 csound-nstrexists-064e95a38e52c6e0199ffb3d42968c6ad6dbb0c9.zip |
update cmake for 32bit
-rw-r--r-- | Plugin.cmake | 9 | ||||
-rw-r--r-- | cmake/CompilerOptimizations.cmake | 53 | ||||
-rw-r--r-- | cmake/Modules/FindCsound.cmake | 56 |
3 files changed, 104 insertions, 14 deletions
diff --git a/Plugin.cmake b/Plugin.cmake new file mode 100644 index 0000000..cba2eeb --- /dev/null +++ b/Plugin.cmake @@ -0,0 +1,9 @@ +set(PLUGIN_NAME nstrexists) + +# Dependencies + # None + +# Source files +set(CPPFILES src/opcodes.cpp) +make_plugin(${PLUGIN_NAME} "${CPPFILES}") +target_include_directories(${PLUGIN_NAME} PRIVATE ${CSOUND_INCLUDE_DIRS}) diff --git a/cmake/CompilerOptimizations.cmake b/cmake/CompilerOptimizations.cmake new file mode 100644 index 0000000..543daf8 --- /dev/null +++ b/cmake/CompilerOptimizations.cmake @@ -0,0 +1,53 @@ +
+check_c_compiler_flag(-ftree-vectorize HAS_TREE_VECTORIZE)
+check_cxx_compiler_flag(-ftree-vectorize HAS_CXX_TREE_VECTORIZE)
+if (HAS_TREE_VECTORISE)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftree-vectorize")
+endif()
+if (HAS_CXX_TREE_VECTORISE)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftree-vectorize")
+endif()
+
+
+check_c_compiler_flag(-ffast-math HAS_FAST_MATH)
+check_cxx_compiler_flag(-ffast-math HAS_CXX_FAST_MATH)
+if (HAS_FAST_MATH AND NOT MINGW)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffast-math")
+endif()
+if (HAS_CXX_FAST_MATH AND NOT MINGW)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffast-math")
+endif()
+
+
+
+if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+check_c_compiler_flag(-mfpmath=sse HAS_FPMATH_SSE)
+check_cxx_compiler_flag(-mfpmath=sse HAS_CXX_FPMATH_SSE)
+ if (HAS_FPMATH_SSE)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse")
+endif()
+if (HAS_CXX_FPMATH_SSE)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse")
+endif()
+
+endif()
+
+
+check_c_compiler_flag(-msse2 HAS_SSE2)
+check_cxx_compiler_flag(-msse2 HAS_CXX_SSE2)
+ if (HAS_SSE2 AND NOT IOS AND NOT WASM)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2")
+endif()
+if (HAS_CXX_SSE2 AND NOT IOS AND NOT WASM)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
+endif()
+
+
+check_c_compiler_flag(-fomit-frame-pointer HAS_OMIT_FRAME_POINTER)
+check_cxx_compiler_flag(-fomit-frame-pointer HAS_CXX_OMIT_FRAME_POINTER)
+if (HAS_OMIT_FRAME_POINTER)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer")
+endif()
+if (HAS_CXX_OMIT_FRAME_POINTER)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer")
+endif()
diff --git a/cmake/Modules/FindCsound.cmake b/cmake/Modules/FindCsound.cmake index b5631c9..24c90d9 100644 --- a/cmake/Modules/FindCsound.cmake +++ b/cmake/Modules/FindCsound.cmake @@ -4,25 +4,53 @@ # CSOUND_INCLUDE_DIRS - The Csound include directories. # CSOUND_LIBRARIES - The libraries needed to use the Csound library. -if(APPLE) - find_path(CSOUND_INCLUDE_DIR csound.h HINTS /Library/Frameworks/CsoundLib64.framework/Headers - "$ENV{HOME}/Library/Frameworks/CsoundLib64.framework/Headers") -elseif(WIN32) - find_path(CSOUND_INCLUDE_DIR csound.h PATH_SUFFIXES csound +# RKnight 2021-07-21 : quick copy paste hack to deal with 32 bit if not using double + +if(USE_DOUBLE) + # 64 bit + if(APPLE) + find_path(CSOUND_INCLUDE_DIR csound.h HINTS /Library/Frameworks/CsoundLib64.framework/Headers + "$ENV{HOME}/Library/Frameworks/CsoundLib64.framework/Headers") + elseif(WIN32) + find_path(CSOUND_INCLUDE_DIR csound.h PATH_SUFFIXES csound HINTS "c:\\Program Files\\Csound6_x64\\include") -else() - find_path(CSOUND_INCLUDE_DIR csound.h PATH_SUFFIXES csound) -endif() + else() + find_path(CSOUND_INCLUDE_DIR csound.h PATH_SUFFIXES csound) + endif() + + if(APPLE) + find_library(CSOUND_LIBRARY NAMES CsoundLib64 HINTS /Library/Frameworks/CsoundLib64.framework/ + "$ENV{HOME}/Library/Frameworks/CsoundLib64.framework") + elseif(WIN32) + find_library(CSOUND_LIBRARY NAMES csound64 HINTS "c:\\Program Files\\Csound6_x64\\lib") + else() + find_library(CSOUND_LIBRARY NAMES csound64 csound) + endif() -if(APPLE) - find_library(CSOUND_LIBRARY NAMES CsoundLib64 HINTS /Library/Frameworks/CsoundLib64.framework/ - "$ENV{HOME}/Library/Frameworks/CsoundLib64.framework") -elseif(WIN32) - find_library(CSOUND_LIBRARY NAMES csound64 HINTS "c:\\Program Files\\Csound6_x64\\lib") else() - find_library(CSOUND_LIBRARY NAMES csound64 csound) + # 32 bit + if(APPLE) + find_path(CSOUND_INCLUDE_DIR csound.h HINTS /Library/Frameworks/CsoundLib.framework/Headers + "$ENV{HOME}/Library/Frameworks/CsoundLib.framework/Headers") + elseif(WIN32) + find_path(CSOUND_INCLUDE_DIR csound.h PATH_SUFFIXES csound + HINTS "c:\\Program Files (x86)\\Csound6\\include") + else() + find_path(CSOUND_INCLUDE_DIR csound.h PATH_SUFFIXES csound) + endif() + + if(APPLE) + find_library(CSOUND_LIBRARY NAMES CsoundLib HINTS /Library/Frameworks/CsoundLib.framework/ + "$ENV{HOME}/Library/Frameworks/CsoundLib.framework") + elseif(WIN32) + find_library(CSOUND_LIBRARY NAMES csound HINTS "c:\\Program Files (x86)\\Csound6\\lib") + else() + find_library(CSOUND_LIBRARY NAMES csound csound) + endif() + endif() + include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set CSOUND_FOUND to TRUE # if all listed variables are TRUE |