mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	CMake support
This commit is contained in:
		
							parent
							
								
									bdff2dc45c
								
							
						
					
					
						commit
						55f9d46b47
					
				
					 14 changed files with 183 additions and 0 deletions
				
			
		
							
								
								
									
										33
									
								
								CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | ||||||
|  | cmake_minimum_required(VERSION 3.16) | ||||||
|  | 
 | ||||||
|  | project(rufus C) | ||||||
|  | 
 | ||||||
|  | if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) | ||||||
|  |     set(CMAKE_BUILD_TYPE Release) | ||||||
|  | endif() | ||||||
|  | 
 | ||||||
|  | if(CMAKE_BINARY_DIR MATCHES "^${CMAKE_SOURCE_DIR}") | ||||||
|  |     message(WARNING "In-source build detected") | ||||||
|  | endif() | ||||||
|  | 
 | ||||||
|  | if(MSVC) | ||||||
|  |     add_compile_options(/utf-8) | ||||||
|  | endif() | ||||||
|  | 
 | ||||||
|  | function(add_all_subdirs) | ||||||
|  |     file(GLOB children RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *) | ||||||
|  | 
 | ||||||
|  |     foreach(child ${children}) | ||||||
|  |         if(NOT IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${child}) | ||||||
|  |             continue() | ||||||
|  |         endif() | ||||||
|  | 
 | ||||||
|  |         if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${child}/CMakeLists.txt) | ||||||
|  |             continue() | ||||||
|  |         endif() | ||||||
|  | 
 | ||||||
|  |         add_subdirectory(${child} ${ARGN}) | ||||||
|  |     endforeach() | ||||||
|  | endfunction() | ||||||
|  | 
 | ||||||
|  | add_all_subdirs() | ||||||
							
								
								
									
										40
									
								
								src/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | ||||||
|  | add_all_subdirs() | ||||||
|  | set(target_name rufus) | ||||||
|  | file(GLOB source_files *.c *.h rufus.rc) | ||||||
|  | add_executable(${target_name} WIN32 ${source_files}) | ||||||
|  | 
 | ||||||
|  | target_include_directories(${target_name} PRIVATE | ||||||
|  |                            . | ||||||
|  |                            msvc-missing | ||||||
|  |                            ms-sys/inc | ||||||
|  |                            syslinux/libinstaller | ||||||
|  |                            syslinux/libfat | ||||||
|  |                            syslinux/win | ||||||
|  |                            libcdio | ||||||
|  |                            getopt) | ||||||
|  | 
 | ||||||
|  | target_compile_definitions(${target_name} PRIVATE | ||||||
|  |                            _OFF_T_DEFINED | ||||||
|  |                            _off_t=__int64 | ||||||
|  |                            off_t=_off_t | ||||||
|  |                            COBJMACROS | ||||||
|  |                            _CRTDBG_MAP_ALLOC) | ||||||
|  | 
 | ||||||
|  | target_link_libraries(${target_name} PRIVATE | ||||||
|  |                       bled | ||||||
|  |                       ext2fs | ||||||
|  |                       getopt | ||||||
|  |                       libcdio-driver | ||||||
|  |                       libcdio-iso9660 | ||||||
|  |                       libcdio-udf | ||||||
|  |                       ms-sys | ||||||
|  |                       syslinux-libfat | ||||||
|  |                       syslinux-libinstaller | ||||||
|  |                       syslinux-win | ||||||
|  |                       comctl32 | ||||||
|  |                       crypt32 | ||||||
|  |                       dwmapi | ||||||
|  |                       setupapi | ||||||
|  |                       shlwapi | ||||||
|  |                       version | ||||||
|  |                       wintrust) | ||||||
							
								
								
									
										11
									
								
								src/bled/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/bled/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | set(target_name bled) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | target_include_directories(${target_name} PRIVATE ..) | ||||||
|  | 
 | ||||||
|  | target_compile_definitions(${target_name} PRIVATE | ||||||
|  |                            _OFF_T_DEFINED | ||||||
|  |                            _off_t=__int64 | ||||||
|  |                            off_t=_off_t | ||||||
|  |                            _FILE_OFFSET_BITS=64 | ||||||
|  |                            _CRTDBG_MAP_ALLOC) | ||||||
							
								
								
									
										5
									
								
								src/ext2fs/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/ext2fs/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | set(target_name ext2fs) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | target_include_directories(${target_name} PRIVATE .. ../msvc-missing) | ||||||
|  | target_compile_definitions(${target_name} PRIVATE _CRT_SECURE_NO_WARNINGS _CRTDBG_MAP_ALLOC) | ||||||
							
								
								
									
										4
									
								
								src/getopt/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/getopt/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | set(target_name getopt) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | target_compile_definitions(${target_name} PRIVATE HAVE_STRING_H) | ||||||
							
								
								
									
										1
									
								
								src/libcdio/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/libcdio/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | add_all_subdirs() | ||||||
							
								
								
									
										16
									
								
								src/libcdio/driver/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/libcdio/driver/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | ||||||
|  | set(target_name libcdio-driver) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | 
 | ||||||
|  | target_include_directories(${target_name} PRIVATE | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/libcdio | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/msvc-missing) | ||||||
|  | 
 | ||||||
|  | target_compile_definitions(${target_name} PRIVATE | ||||||
|  |                            HAVE_CONFIG_H | ||||||
|  |                            _OFF_T_DEFINED | ||||||
|  |                            _off_t=__int64 | ||||||
|  |                            off_t=_off_t | ||||||
|  |                            _FILE_OFFSET_BITS=64 | ||||||
|  |                            _CRTDBG_MAP_ALLOC) | ||||||
							
								
								
									
										17
									
								
								src/libcdio/iso9660/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/libcdio/iso9660/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | set(target_name libcdio-iso9660) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | 
 | ||||||
|  | target_include_directories(${target_name} PRIVATE | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/libcdio | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/libcdio/driver | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/msvc-missing) | ||||||
|  | 
 | ||||||
|  | target_compile_definitions(${target_name} PRIVATE | ||||||
|  |                            HAVE_CONFIG_H | ||||||
|  |                            _OFF_T_DEFINED | ||||||
|  |                            _off_t=__int64 | ||||||
|  |                            off_t=_off_t | ||||||
|  |                            _FILE_OFFSET_BITS=64 | ||||||
|  |                            _CRTDBG_MAP_ALLOC) | ||||||
							
								
								
									
										17
									
								
								src/libcdio/udf/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/libcdio/udf/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | set(target_name libcdio-udf) | ||||||
|  | file(GLOB_RECURSE source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | 
 | ||||||
|  | target_include_directories(${target_name} PRIVATE | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/libcdio | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/libcdio/driver | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/msvc-missing) | ||||||
|  | 
 | ||||||
|  | target_compile_definitions(${target_name} PRIVATE | ||||||
|  |                            HAVE_CONFIG_H | ||||||
|  |                            _OFF_T_DEFINED | ||||||
|  |                            _off_t=__int64 | ||||||
|  |                            off_t=_off_t | ||||||
|  |                            _FILE_OFFSET_BITS=64 | ||||||
|  |                            _CRTDBG_MAP_ALLOC) | ||||||
							
								
								
									
										5
									
								
								src/ms-sys/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/ms-sys/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | set(target_name ms-sys) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | target_include_directories(${target_name} PRIVATE inc) | ||||||
|  | target_compile_definitions(${target_name} PRIVATE _CRTDBG_MAP_ALLOC) | ||||||
							
								
								
									
										1
									
								
								src/syslinux/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/syslinux/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | add_all_subdirs() | ||||||
							
								
								
									
										11
									
								
								src/syslinux/libfat/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/syslinux/libfat/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | set(target_name syslinux-libfat) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | 
 | ||||||
|  | target_include_directories(${target_name} PRIVATE | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/msvc-missing) | ||||||
|  | 
 | ||||||
|  | target_compile_definitions(${target_name} PRIVATE | ||||||
|  |                            inline=__inline | ||||||
|  |                            _CRTDBG_MAP_ALLOC) | ||||||
							
								
								
									
										11
									
								
								src/syslinux/libinstaller/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/syslinux/libinstaller/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | set(target_name syslinux-libinstaller) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | 
 | ||||||
|  | target_include_directories(${target_name} PRIVATE | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/msvc-missing) | ||||||
|  | 
 | ||||||
|  | target_compile_definitions(${target_name} PRIVATE | ||||||
|  |                            inline=__inline | ||||||
|  |                            _CRTDBG_MAP_ALLOC) | ||||||
							
								
								
									
										11
									
								
								src/syslinux/win/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/syslinux/win/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | set(target_name syslinux-win) | ||||||
|  | file(GLOB source_files *.c *.h) | ||||||
|  | add_library(${target_name} STATIC ${source_files}) | ||||||
|  | 
 | ||||||
|  | target_include_directories(${target_name} PRIVATE | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src | ||||||
|  |                            ${CMAKE_SOURCE_DIR}/src/msvc-missing) | ||||||
|  | 
 | ||||||
|  | target_compile_definitions(${target_name} PRIVATE | ||||||
|  |                            inline=__inline | ||||||
|  |                            _CRTDBG_MAP_ALLOC) | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue