diff options
Diffstat (limited to 'arch/x86/msr/CMakeLists.txt')
| -rw-r--r-- | arch/x86/msr/CMakeLists.txt | 47 |
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() |
