diff options
Diffstat (limited to 'arch/x86/cpuid')
| -rw-r--r-- | arch/x86/cpuid/CMakeLists.txt | 68 |
1 files changed, 46 insertions, 22 deletions
diff --git a/arch/x86/cpuid/CMakeLists.txt b/arch/x86/cpuid/CMakeLists.txt index e6af515..6833df5 100644 --- a/arch/x86/cpuid/CMakeLists.txt +++ b/arch/x86/cpuid/CMakeLists.txt @@ -16,32 +16,56 @@ * ObjectiveOS. If not, see <https://www.gnu.org/licenses/>. ]] -add_library(CPUID STATIC) -target_link_libraries(CPUID PUBLIC CXX_COMPILER_REQUIREMENTS) +set(IS_CPUID_DEFINES TRUE) +ifFeatureEnables(CPUID IS_CPUID_DEFINES) -target_sources(CPUID PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/Cpuid.cpp -) +if(NOT IS_CPUID_DEFINES) + add_library(CPUID INTERFACE) +else() -target_sources(CPUID - PUBLIC - FILE_SET HEADERS - BASE_DIRS - ${CMAKE_CURRENT_LIST_DIR} - FILES - ${CMAKE_CURRENT_LIST_DIR}/Cpuid.h -) + target_compile_definitions(CXX_COMPILER_REQUIREMENTS INTERFACE + FEATRUE_CPUID + ) -target_link_libraries(Architecture INTERFACE CPUID) + add_library(CPUID STATIC) -add_library(CPUIDASM OBJECT) + target_link_libraries(CPUID PUBLIC CXX_COMPILER_REQUIREMENTS) -target_sources(CPUIDASM PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/CpuidCheck.nasm -) + target_sources(CPUID PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/Cpuid.cpp + ) -target_link_libraries(CPUIDASM PUBLIC - ASM_NASM_COMPILER_REQUIREMENTS -) + target_sources(CPUID + PUBLIC + FILE_SET HEADERS + BASE_DIRS + ${CMAKE_CURRENT_LIST_DIR} + FILES + ${CMAKE_CURRENT_LIST_DIR}/Cpuid.h + ) -target_sources(ArchitectureAssemblerSources PRIVATE $<TARGET_OBJECTS:CPUIDASM>) + target_link_libraries(Architecture INTERFACE CPUID) + + add_library(CPUIDASM OBJECT) + + target_sources(CPUIDASM PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/CpuidCheck.nasm + ) + + target_link_libraries(CPUIDASM PUBLIC + ASM_NASM_COMPILER_REQUIREMENTS + ) + + target_sources(ArchitectureAssemblerSources PRIVATE $<TARGET_OBJECTS:CPUIDASM>) +endif() + +startFeatureRecording(CPUID) + +setFeatureField(NAME "cpuid extension") +setFeatureField(HASHCOMMIT "e3e68862bbc731802efc39cbfb1b6df7ab255204") +setFeatureField(DESCRIPTION "This feature makes available to use cpuid" + "processor's function") +setFeatureField(TAGS "NEW;MULTIPLATFORM") +setFeatureField(AUTHORSHIP "Alexey Gavrilov <alexey.gavrilov@mail.com>") + +saveFeatureRecording() |
