mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-10-31 06:03:49 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			78 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| # portmidi
 | |
| # Roger B. Dannenberg
 | |
| # 20 Sep 2009
 | |
| 
 | |
| cmake_minimum_required(VERSION 2.6)
 | |
| 
 | |
| if(UNIX)
 | |
|   # allow user to set Release or Debug
 | |
|   set(CMAKE_BUILD_TYPE Release CACHE STRING 
 | |
|       "Semicolon-separate list of supported configuration types")
 | |
|   # set default directories but don't override cached values...
 | |
|   set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
 | |
|       CACHE STRING "libraries go here")
 | |
|   set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
 | |
|       CACHE STRING "libraries go here")
 | |
|   set(CMAKE_RUNTIME_OUTPUT_DIRECTORY 
 | |
|       ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
 | |
|       CACHE STRING "executables go here")
 | |
| 
 | |
| else(UNIX)
 | |
|   # this does not seem to work for xcode:
 | |
|   set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING 
 | |
|       "Semicolon-separate list of supported configuration types")
 | |
| endif(UNIX)
 | |
| 
 | |
| #set(CMAKE_RELATIVE_PATHS ON CACHE STRING "avoid absolute paths" FORCE)
 | |
| 
 | |
| # Clear out the built-in C++ compiler and link flags for each of the 
 | |
| # unused configurations.
 | |
| set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused")
 | |
| set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused")
 | |
| set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused")
 | |
| set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused")
 | |
| set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
 | |
| set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
 | |
| set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
 | |
| set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
 | |
| 
 | |
| set(CMAKE_OSX_ARCHITECTURES i386 ppc x86_64 CACHE STRING "change to needed architecture for a smaller library" FORCE)
 | |
| 
 | |
| PROJECT(portmidi)
 | |
| 
 | |
| if(UNIX)
 | |
|   # Problem: if there was an old Debug build and you change
 | |
|   #  CMAKE_BUILD_TYPE to Release, then the OUTPUT_DIRECTORY's will
 | |
|   #  still be Debug. Try to fix this by checking if the DIRECTORY's
 | |
|   #  look wrong, and if so, force them to the defaults:
 | |
|   if(CMAKE_BUILD_TYPE MATCHES "Debug")
 | |
|     set(BAD_DIR "Release")
 | |
|   else(CMAKE_BUILD_TYPE MATCHES "Debug")
 | |
|     set(BAD_DIR "Debug")
 | |
|   endif(CMAKE_BUILD_TYPE MATCHES "Debug")
 | |
|   # use library as reference -- if you give it a non-BAD_DIR location
 | |
|   # then every other path is left alone
 | |
|   if(CMAKE_LIBRARY_OUTPUT_DIRECTORY MATCHES ${BAD_DIR})
 | |
|     set(CMAKE_RUNTIME_OUTPUT_DIRECTORY 
 | |
|         ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
 | |
|         CACHE STRING "executables go here" FORCE)
 | |
|     set(CMAKE_LIBRARY_OUTPUT_DIRECTORY 
 | |
|         ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
 | |
|         CACHE STRING "libraries go here" FORCE)
 | |
|     set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY 
 | |
|         ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
 | |
|         CACHE STRING "libraries go here" FORCE)
 | |
|   endif(CMAKE_LIBRARY_OUTPUT_DIRECTORY MATCHES ${BAD_DIR})
 | |
| endif(UNIX)
 | |
| 
 | |
| include_directories(pm_common porttime)
 | |
| add_subdirectory(pm_common)
 | |
| 
 | |
| add_subdirectory(pm_test)
 | |
| 
 | |
| add_subdirectory(pm_dylib)
 | |
| 
 | |
| # Cannot figure out how to make an xcode Java application with CMake
 | |
| add_subdirectory(pm_java)
 | |
| 
 |