mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-10-30 23:15:32 +01:00 
			
		
		
		
	MSVC by default warns if Annex-K style secure functions with additional parameter validation are not used. For better or worse, afaik other major compilers don't implement it, so it's not a very useful warning for a cross-platform project.
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| project(lua CXX)
 | |
| 
 | |
| set(LUA_VERSION_MAJOR 5)
 | |
| set(LUA_VERSION_MINOR 1)
 | |
| set(LUA_VERSION_PATCH 4)
 | |
| set(LUA_VERSION "${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}.${LUA_VERSION_PATCH}")
 | |
| 
 | |
| set(COMMON_CFLAGS)
 | |
| set(COMMON_LDFLAGS)
 | |
| set(LIBS)
 | |
| 
 | |
| if(APPLE)
 | |
| 	set(DEFAULT_POSIX TRUE)
 | |
| 	set(DEFAULT_DLOPEN OFF)
 | |
| 	set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_MACOSX")
 | |
| elseif(UNIX OR CYGWIN)
 | |
| 	set(DEFAULT_POSIX TRUE)
 | |
| elseif(WIN32)
 | |
| 	set(LUA_WIN TRUE)
 | |
| 	set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_BUILD_AS_DLL")
 | |
| else()
 | |
| 	set(DEFAULT_ANSI TRUE)
 | |
| endif()
 | |
| 
 | |
| if(MSVC)
 | |
| 	set(COMMON_CFLAGS "${COMMON_CFLAGS} -D_CRT_SECURE_NO_WARNINGS")
 | |
| endif()
 | |
| 
 | |
| if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 | |
| 	set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -Wl,-E -lm")
 | |
| 	set(DEFAULT_DLOPEN ON)
 | |
| endif()
 | |
| 
 | |
| option(LUA_USE_DLOPEN "Enable dlopen support." ${DEFAULT_DLOPEN})
 | |
| mark_as_advanced(LUA_USE_DLOPEN)
 | |
| 
 | |
| option(LUA_ANSI "Disable non-ANSI features." ${DEFAULT_ANSI})
 | |
| mark_as_advanced(LUA_ANSI)
 | |
| 
 | |
| if(LUA_USE_DLOPEN)
 | |
| 	set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_DLOPEN")
 | |
| 	if(NOT APPLE)
 | |
| 		set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -ldl ")
 | |
| 	endif(NOT APPLE)
 | |
| endif(LUA_USE_DLOPEN)
 | |
| 
 | |
| if(DEFAULT_POSIX)
 | |
| 	set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_POSIX")
 | |
| endif(DEFAULT_POSIX)
 | |
| 
 | |
| if(LUA_ANSI)
 | |
| 	set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_ANSI")
 | |
| endif(LUA_ANSI)
 | |
| 
 | |
| # Standard flags to use
 | |
| if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|(Apple)?Clang")
 | |
| 	set(COMMON_CFLAGS "${COMMON_CFLAGS} -pipe -Wall -Wextra -Wshadow -W -pedantic")
 | |
| endif()
 | |
| 
 | |
| # COMMON_CFLAGS has no effect without this line
 | |
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_CFLAGS}")
 | |
| 
 | |
| add_subdirectory(src)
 |