summaryrefslogtreecommitdiffstats
path: root/arch/x86/cpuid/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/cpuid/CMakeLists.txt')
-rw-r--r--arch/x86/cpuid/CMakeLists.txt68
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()