Добавлена базовая поддержка ассемблера (NASM), пока проверено только на linux. ассеьблерный код переделан с FASM на NASM
This commit is contained in:
parent
ec3af25930
commit
28f2e968d8
@ -2,9 +2,10 @@ cmake_minimum_required(VERSION 2.8)
|
|||||||
|
|
||||||
set(CMAKE_BUILD_TYPE DEBUG)
|
set(CMAKE_BUILD_TYPE DEBUG)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-std=c++11")
|
set(CMAKE_CXX_FLAGS "-std=c++11 -pthread")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
|
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "-pthread")
|
||||||
|
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
|
||||||
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib)
|
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib)
|
||||||
|
|||||||
@ -4,8 +4,10 @@ set(MAIN_PROJECT_NAME "cpputil")
|
|||||||
set(SRC_DIR ".")
|
set(SRC_DIR ".")
|
||||||
set(INCLUDE_DIR ../include ./asm/include)
|
set(INCLUDE_DIR ../include ./asm/include)
|
||||||
|
|
||||||
project(${MAIN_PROJECT_NAME} CXX)
|
project(${MAIN_PROJECT_NAME} CXX ASM_NASM)
|
||||||
aux_source_directory(${SRC_DIR} SRC_FILES)
|
aux_source_directory(${SRC_DIR} SRC_FILES)
|
||||||
|
file(GLOB_RECURSE ASM_SRC_FILES "${SRC_DIR}/asm/linux/x86_64" "*.asm")
|
||||||
|
set(SRC_FILES ${SRC_FILES} ${ASM_SRC_FILES})
|
||||||
include_directories(${INCLUDE_DIR})
|
include_directories(${INCLUDE_DIR})
|
||||||
add_library(${MAIN_PROJECT_NAME} STATIC ${SRC_FILES})
|
add_library(${MAIN_PROJECT_NAME} STATIC ${SRC_FILES})
|
||||||
target_link_libraries(${MAIN_PROJECT_NAME})
|
target_link_libraries(${MAIN_PROJECT_NAME})
|
||||||
|
|||||||
@ -1,21 +1,19 @@
|
|||||||
format ELF64
|
|
||||||
|
|
||||||
;
|
;
|
||||||
; public exported functions
|
; public exported functions
|
||||||
;
|
;
|
||||||
|
|
||||||
public _asm_ucs4_strstr
|
global _asm_ucs4_strstr
|
||||||
public _asm_ucs4_strchr
|
global _asm_ucs4_strchr
|
||||||
|
|
||||||
;
|
;
|
||||||
; code section
|
; code section
|
||||||
;
|
;
|
||||||
|
|
||||||
section '.text' executable
|
section '.text'
|
||||||
|
|
||||||
; constants
|
; constants
|
||||||
|
|
||||||
npos = -1
|
npos db -1
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
;
|
;
|
||||||
@ -15,7 +15,7 @@ ExternalProject_Add(
|
|||||||
TIMEOUT 100
|
TIMEOUT 100
|
||||||
CMAKE_ARGS -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=${CMAKE_SOURCE_DIR}/lib
|
CMAKE_ARGS -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=${CMAKE_SOURCE_DIR}/lib
|
||||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${CMAKE_SOURCE_DIR}/lib
|
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${CMAKE_SOURCE_DIR}/lib
|
||||||
-Dgtest_force_shared_crt=ON
|
#-Dgtest_force_shared_crt=ON
|
||||||
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
|
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
|
||||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
@ -45,11 +45,6 @@ ExternalProject_Add(
|
|||||||
LOG_BUILD ON
|
LOG_BUILD ON
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Get_Property( boost source_dir )
|
|
||||||
ExternalProject_Get_Property( boost binary_dir )
|
|
||||||
set( Boost_INCLUDE_DIRS ${source_dir} )
|
|
||||||
set( Boost_LIBRARIES debug;${binary_dir}/stage/lib/libboost_program_options-vc110-mt-gd-1_49.lib;optimized;${binary_dir}/stage/lib/libboost_program_options-vc110-mt-1_49.lib )
|
|
||||||
|
|
||||||
project(${TEST_PROJECT_NAME} CXX)
|
project(${TEST_PROJECT_NAME} CXX)
|
||||||
aux_source_directory(${SRC_DIR} TEST_SRC)
|
aux_source_directory(${SRC_DIR} TEST_SRC)
|
||||||
add_executable(${TEST_PROJECT_NAME} ${TEST_SRC})
|
add_executable(${TEST_PROJECT_NAME} ${TEST_SRC})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user