mirror of
				https://github.com/CPunch/Laika.git
				synced 2025-10-31 10:30:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| cmake_minimum_required(VERSION 3.10)
 | |
| 
 | |
| set(LIB_INCLUDEDIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
 | |
| 
 | |
| # DO NOT USE THESE KEYS, TESTING ONLY
 | |
| if(NOT LAIKA_PUBKEY)
 | |
|     set(LAIKA_PUBKEY "40d5534aca77d1f5ec2bbe79dd9d0f52a78148918f95814404cefe97c34c5c27")
 | |
| endif ()
 | |
| 
 | |
| if(NOT LAIKA_PRIVKEY)
 | |
|     set(LAIKA_PRIVKEY "90305aa77023d1c1e03265c3b6af046eb58d6ec8ba650b0dffed01379feab8cc")
 | |
| endif ()
 | |
| 
 | |
| # version details
 | |
| set(LAIKA_VERSION_MAJOR 0)
 | |
| set(LAIKA_VERSION_MINOR 1)
 | |
| 
 | |
| project(LaikaLib VERSION ${LAIKA_VERSION_MAJOR}.${LAIKA_VERSION_MINOR})
 | |
| 
 | |
| message(STATUS "Building config file...")
 | |
| configure_file(${LIB_INCLUDEDIR}/lconfig.h.in ${LIB_INCLUDEDIR}/lconfig.h)
 | |
| 
 | |
| # Put CMake targets (ALL_BUILD/ZERO_CHECK) into a folder
 | |
| set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 | |
| 
 | |
| set(sodium_USE_STATIC_LIBS ON)
 | |
| find_package(Sodium)
 | |
| 
 | |
| # compile LaikaLib library
 | |
| file(GLOB_RECURSE LIBSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/**.c ${CMAKE_CURRENT_SOURCE_DIR}/vendor/**.c)
 | |
| add_library(LaikaLib STATIC ${LIBSOURCE})
 | |
| target_link_libraries(LaikaLib PRIVATE ${sodium_LIBRARY_RELEASE})
 | |
| 
 | |
| # add the version definitions and the 'DEBUG' preprocessor definition if we're compiling as Debug
 | |
| target_compile_definitions(LaikaLib PUBLIC "$<$<CONFIG:Debug>:DEBUG>")
 | |
| 
 | |
| # add include directory
 | |
| target_include_directories(LaikaLib PUBLIC ${LIB_INCLUDEDIR} ${sodium_INCLUDE_DIR})
 | |
| 
 | |
| # set library name
 | |
| set_target_properties(LaikaLib PROPERTIES OUTPUT_NAME laika-${LAIKA_VERSION_MAJOR}.${LAIKA_VERSION_MINOR})
 |