aboutsummaryrefslogtreecommitdiff
path: root/src/fpm_targets.f90
diff options
context:
space:
mode:
authorLKedward <laurence.kedward@bristol.ac.uk>2021-04-08 15:26:29 +0100
committerLaurence Kedward <laurence.kedward@bristol.ac.uk>2021-04-09 14:45:28 +0100
commitf28ac3e31cb0e5c558a4fdb4ce5f461ce1c83ea4 (patch)
treea2174995a1dcf57275e78a9a83866a68a8479d6a /src/fpm_targets.f90
parent6652c86a8441f8f277fd3047b448e9da892e354e (diff)
downloadfpm-f28ac3e31cb0e5c558a4fdb4ce5f461ce1c83ea4.tar.gz
fpm-f28ac3e31cb0e5c558a4fdb4ce5f461ce1c83ea4.zip
Separate target type for c objects
Diffstat (limited to 'src/fpm_targets.f90')
-rw-r--r--src/fpm_targets.f909
1 files changed, 6 insertions, 3 deletions
diff --git a/src/fpm_targets.f90 b/src/fpm_targets.f90
index 02bb600..6d4d8f0 100644
--- a/src/fpm_targets.f90
+++ b/src/fpm_targets.f90
@@ -35,7 +35,8 @@ implicit none
private
public FPM_TARGET_UNKNOWN, FPM_TARGET_EXECUTABLE, &
- FPM_TARGET_ARCHIVE, FPM_TARGET_OBJECT
+ FPM_TARGET_ARCHIVE, FPM_TARGET_OBJECT, &
+ FPM_TARGET_C_OBJECT
public build_target_t, build_target_ptr
public targets_from_sources, resolve_module_dependencies
public resolve_target_linking, add_target, add_dependency
@@ -50,7 +51,8 @@ integer, parameter :: FPM_TARGET_EXECUTABLE = 1
integer, parameter :: FPM_TARGET_ARCHIVE = 2
!> Target type is compiled object
integer, parameter :: FPM_TARGET_OBJECT = 3
-
+!> Target type is c compiled object
+integer, parameter :: FPM_TARGET_C_OBJECT = 4
!> Wrapper type for constructing arrays of `[[build_target_t]]` pointers
type build_target_ptr
@@ -194,7 +196,8 @@ subroutine build_target_list(targets,model)
case (FPM_UNIT_MODULE,FPM_UNIT_SUBMODULE,FPM_UNIT_SUBPROGRAM,FPM_UNIT_CSOURCE)
call add_target(targets,source = sources(i), &
- type = FPM_TARGET_OBJECT,&
+ type = merge(FPM_TARGET_C_OBJECT,FPM_TARGET_OBJECT,&
+ sources(i)%unit_type==FPM_UNIT_CSOURCE), &
output_file = get_object_name(sources(i)))
if (with_lib .and. sources(i)%unit_scope == FPM_SCOPE_LIB) then