47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
								 | 
							
								cmake_minimum_required(VERSION 3.1)
							 | 
						||
| 
								 | 
							
								project(cspice LANGUAGES C)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set(SOVERSION 67)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Include all *.c files from the library
							 | 
						||
| 
								 | 
							
								file(GLOB CSPICE_SOURCE ${PROJECT_SOURCE_DIR}/cspice/src/cspice/*.c)
							 | 
						||
| 
								 | 
							
								set(INCLUDE_PATH "${PROJECT_SOURCE_DIR}/cspice/include")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (_STATIC_BUILD)
							 | 
						||
| 
								 | 
							
								    add_library(cspice STATIC ${CSPICE_SOURCE})
							 | 
						||
| 
								 | 
							
								else()
							 | 
						||
| 
								 | 
							
								    add_library(cspice SHARED ${CSPICE_SOURCE})
							 | 
						||
| 
								 | 
							
								endif()
							 | 
						||
| 
								 | 
							
								target_include_directories(cspice PUBLIC "${INCLUDE_PATH}")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (WIN32)
							 | 
						||
| 
								 | 
							
								    target_compile_definitions(cspice PUBLIC "_COMPLEX_DEFINED;MSDOS;OMIT_BLANK_CC;NON_ANSI_STDIO;_CRT_SECURE_NO_WARNINGS")
							 | 
						||
| 
								 | 
							
								    set_target_properties(cspice PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
							 | 
						||
| 
								 | 
							
								elseif (UNIX)
							 | 
						||
| 
								 | 
							
								    target_compile_definitions(cspice PUBLIC "NON_UNIX_STDIO")
							 | 
						||
| 
								 | 
							
								    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
							 | 
						||
| 
								 | 
							
								        target_compile_options(cspice PUBLIC -m64 -ansi -fPIC)
							 | 
						||
| 
								 | 
							
								    elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
							 | 
						||
| 
								 | 
							
								        target_compile_options(cspice PUBLIC -m32 -ansi -fPIC) 
							 | 
						||
| 
								 | 
							
								    endif()
							 | 
						||
| 
								 | 
							
								    target_compile_options(cspice PRIVATE -Wno-error=implicit-function-declaration)
							 | 
						||
| 
								 | 
							
								endif ()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (NOT _SKIP_HEADERS)
							 | 
						||
| 
								 | 
							
								    file(GLOB SPICE_HEADERS ${INCLUDE_PATH}/*.h)
							 | 
						||
| 
								 | 
							
								    install(FILES ${SPICE_HEADERS} DESTINATION include/cspice)
							 | 
						||
| 
								 | 
							
								endif()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set_target_properties(
							 | 
						||
| 
								 | 
							
								    cspice
							 | 
						||
| 
								 | 
							
								    PROPERTIES SOVERSION ${SOVERSION}
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								install(
							 | 
						||
| 
								 | 
							
								    TARGETS cspice
							 | 
						||
| 
								 | 
							
								    EXPORT cspice
							 | 
						||
| 
								 | 
							
								    ARCHIVE DESTINATION lib
							 | 
						||
| 
								 | 
							
								    LIBRARY DESTINATION lib
							 | 
						||
| 
								 | 
							
								    RUNTIME DESTINATION bin
							 | 
						||
| 
								 | 
							
								)
							 |