CMake fully integrated.
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,3 @@ | |||||||
| # ignore binary files | # ignore binary files | ||||||
| build/* | build/* | ||||||
|  | !build/.keep | ||||||
|   | |||||||
| @@ -15,8 +15,7 @@ | |||||||
| # along with this program.  If not, see <http://www.gnu.org/licenses/>. | # along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
| cmake_minimum_required(VERSION 2.8) | cmake_minimum_required(VERSION 2.8) | ||||||
| project(colonel) | project(colonel C ASM) | ||||||
| enable_language(ASM_NASM) |  | ||||||
|  |  | ||||||
| set(TARGET_NAME "colonel.bin") | set(TARGET_NAME "colonel.bin") | ||||||
|  |  | ||||||
| @@ -28,9 +27,11 @@ string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE) | |||||||
| message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") | message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") | ||||||
|  |  | ||||||
| # flags | # flags | ||||||
| set(CMAKE_C_FLAGS "-std=c99 -ffreestanding -fno-builtin -nostdlibinc -Wall -Wextra") | set(CMAKE_C_FLAGS "-std=c99 -ffreestanding -fno-builtin -Wall -Wextra") | ||||||
| set(CMAKE_C_FLAGS_DEBUG "-g -O0") | set(CMAKE_C_FLAGS_DEBUG "-g -O0") | ||||||
| set(CMAKE_C_FLAGS_RELEASE "-O3") | set(CMAKE_C_FLAGS_RELEASE "-O3") | ||||||
|  | set(CMAKE_ASM_FLAGS "") | ||||||
|  | set(CMAKE_ASM_FLAGS_RELEASE "") | ||||||
|  |  | ||||||
| include_directories( | include_directories( | ||||||
| 	"src/") | 	"src/") | ||||||
| @@ -45,14 +46,14 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "i.86") | |||||||
| 		src/kernel/arch/x86/boot.s | 		src/kernel/arch/x86/boot.s | ||||||
| 		${SRCS} | 		${SRCS} | ||||||
| 		src/kernel/arch/x86/tty.c) | 		src/kernel/arch/x86/tty.c) | ||||||
| 	set(CMAKE_EXE_LINKER_FLAGS "-T src/kernel/arch/x86/linker.ld") | 	set_source_files_properties( | ||||||
| endif() | 		src/kernel/arch/x86/boot.s | ||||||
|  | 		PROPERTIES COMPILE_FLAGS "" | ||||||
| if(NOT CMAKE_BUILD_TYPE STREQUAL "debug" AND | 		) | ||||||
| 		NOT CMAKE_BUILD_TYPE STREQUAL "relwithdebinfo") | 	set(CMAKE_EXE_LINKER_FLAGS | ||||||
| 	add_definitions("-DNDEBUG") | 		"-T ${CMAKE_CURRENT_SOURCE_DIR}/src/kernel/arch/x86/linker.ld -ffreestanding -nostdlib") | ||||||
| else() | 	include_directories( | ||||||
| 	add_definitions("-DDEBUG") | 		"src/kernel/arch/x86/") | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| add_executable(${TARGET_NAME} ${SRCS}) | add_executable(${TARGET_NAME} ${SRCS}) | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								build/.keep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								build/.keep
									
									
									
									
									
										Normal file
									
								
							| @@ -1,6 +1,8 @@ | |||||||
| set(CMAKE_SYSTEM_NAME "Generic") | set(CMAKE_SYSTEM_NAME Generic) | ||||||
| set(CMAKE_SYSTEM_PROCESSOR "i686") | set(CMAKE_SYSTEM_PROCESSOR i686) | ||||||
| set(triple "i686-elf") |  | ||||||
|  |  | ||||||
| set(CMAKE_C_COMPILER clang) | set(CMAKE_C_COMPILER i686-elf-gcc) | ||||||
| set(CMAKE_C_COMPILER_TARGET ${triple}) | set(CMAKE_C_COMPILER_WORKS TRUE) | ||||||
|  | set(CMAKE_CXX_COMPILER i686-elf-g++) | ||||||
|  | set(CMAKE_CXX_COMPILER_WORKS TRUE) | ||||||
|  | set(CMAKE_ASM_COMPILER i686-elf-as) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user