Добавлена базовая поддержка ассемблера (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_CXX_FLAGS "-std=c++11")
|
||||
set(CMAKE_CXX_FLAGS "-std=c++11 -pthread")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-pthread")
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
|
||||
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib)
|
||||
|
||||
@ -4,8 +4,10 @@ set(MAIN_PROJECT_NAME "cpputil")
|
||||
set(SRC_DIR ".")
|
||||
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)
|
||||
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})
|
||||
add_library(${MAIN_PROJECT_NAME} STATIC ${SRC_FILES})
|
||||
target_link_libraries(${MAIN_PROJECT_NAME})
|
||||
|
||||
@ -1,21 +1,19 @@
|
||||
format ELF64
|
||||
|
||||
;
|
||||
; public exported functions
|
||||
;
|
||||
|
||||
public _asm_ucs4_strstr
|
||||
public _asm_ucs4_strchr
|
||||
global _asm_ucs4_strstr
|
||||
global _asm_ucs4_strchr
|
||||
|
||||
;
|
||||
; code section
|
||||
;
|
||||
|
||||
section '.text' executable
|
||||
section '.text'
|
||||
|
||||
; constants
|
||||
|
||||
npos = -1
|
||||
npos db -1
|
||||
|
||||
;================================================================================
|
||||
;
|
||||
@ -15,7 +15,7 @@ ExternalProject_Add(
|
||||
TIMEOUT 100
|
||||
CMAKE_ARGS -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG: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_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||
INSTALL_COMMAND ""
|
||||
@ -45,11 +45,6 @@ ExternalProject_Add(
|
||||
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)
|
||||
aux_source_directory(${SRC_DIR} TEST_SRC)
|
||||
add_executable(${TEST_PROJECT_NAME} ${TEST_SRC})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user