summaryrefslogtreecommitdiffstats
path: root/arch/x86/msr/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/msr/CMakeLists.txt')
-rw-r--r--arch/x86/msr/CMakeLists.txt47
1 files changed, 35 insertions, 12 deletions
diff --git a/arch/x86/msr/CMakeLists.txt b/arch/x86/msr/CMakeLists.txt
index 3f4fd8a..47112dd 100644
--- a/arch/x86/msr/CMakeLists.txt
+++ b/arch/x86/msr/CMakeLists.txt
@@ -16,18 +16,41 @@
* ObjectiveOS. If not, see <https://www.gnu.org/licenses/>.
]]
-add_library(MSR STATIC)
-target_link_libraries(MSR PUBLIC CXX_COMPILER_REQUIREMENTS)
+set(IS_MSR_DEFINES TRUE)
+ifFeatureEnables(MSR IS_MSR_DEFINES)
-target_sources(MSR PRIVATE
- ${CMAKE_CURRENT_LIST_DIR}/Msr.cpp
-)
+if(NOT IS_MSR_DEFINES)
+ add_library(MSR INTERFACE)
+else()
+ target_compile_definitions(CXX_COMPILER_REQUIREMENTS INTERFACE
+ FEATRUE_MSR
+ )
-target_sources(MSR
- PUBLIC
- FILE_SET HEADERS
- FILES
- ${CMAKE_CURRENT_LIST_DIR}/Msr.h
-)
+ add_library(MSR STATIC)
+ target_link_libraries(MSR PUBLIC CXX_COMPILER_REQUIREMENTS)
-target_link_libraries(Architecture INTERFACE MSR)
+ target_sources(MSR PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}/Msr.cpp
+ )
+
+ target_sources(MSR
+ PUBLIC
+ FILE_SET HEADERS
+ FILES
+ ${CMAKE_CURRENT_LIST_DIR}/Msr.h
+ )
+
+ target_link_libraries(Architecture INTERFACE MSR)
+endif()
+
+startFeatureRecording(MSR)
+
+setFeatureField(NAME "MSR register extension")
+setFeatureField(HASHCOMMIT "515a11b818e4140845f69bb26a19d270a9e42178")
+setFeatureField(DESCRIPTION "This feature makes available to use"
+ "the x86 MSR register")
+setFeatureField(TAGS "NEW")
+setFeatureField(AUTHORSHIP "Alexey Gavrilov <alexey.gavrilov@mail.com>")
+setFeatureDependencies("x86;CPUID")
+
+saveFeaturerecording()